<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libslic3r: src/libslic3r/Config.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="Slic3r_192px_transparent.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">libslic3r
   </div>
   <div id="projectbrief">Library for generating gcode from 3d models</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_f69e6fbaea45487e96bc9ed8ccf9ff8f.html">libslic3r</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">Config.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_config_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef slic3r_Config_hpp_</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define slic3r_Config_hpp_</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;</div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &lt;climits&gt;</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="preprocessor">#include &lt;cstdio&gt;</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;cstdlib&gt;</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;exception&gt;</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &lt;stdexcept&gt;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="libslic3r_8h.html">libslic3r.h</a>&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_point_8hpp.html">Point.hpp</a>&quot;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_slic3r.html">Slic3r</a> {</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;</div><div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#a5ebe1a416fa23898dceb3ba7906508b9">   19</a></span>&#160;<span class="keyword">typedef</span> std::string <a class="code" href="namespace_slic3r.html#a5ebe1a416fa23898dceb3ba7906508b9">t_config_option_key</a>;</div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad4503660b414418a65c1d0ed75a8ff06">   20</a></span>&#160;<span class="keyword">typedef</span> std::vector&lt;std::string&gt; <a class="code" href="namespace_slic3r.html#ad4503660b414418a65c1d0ed75a8ff06">t_config_option_keys</a>;</div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">extern</span> std::string <a class="code" href="namespace_slic3r.html#a2e87a52c2cac1469b96a2765775bb7c0">escape_string_cstyle</a>(<span class="keyword">const</span> std::string &amp;str);</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">extern</span> std::string <a class="code" href="namespace_slic3r.html#af0ba93eb38e1604641b4f38c82994b20">escape_strings_cstyle</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt; &amp;strs);</div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> <a class="code" href="namespace_slic3r.html#adc08139e1bb59d39e8faa5ef4754c5e5">unescape_string_cstyle</a>(<span class="keyword">const</span> std::string &amp;str, std::string &amp;out);</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">bool</span> <a class="code" href="namespace_slic3r.html#a1adc7c939ed5b67e5d02173e31667818">unescape_strings_cstyle</a>(<span class="keyword">const</span> std::string &amp;str, std::vector&lt;std::string&gt; &amp;out);</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option.html">   32</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> {</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option.html#a115b29c0449d421d63c1b5d905431f6e">   34</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_config_option.html#a115b29c0449d421d63c1b5d905431f6e">~ConfigOption</a>() {};</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a>* <a class="code" href="class_slic3r_1_1_config_option.html#a806fd21c80adf6b44de88c46ae397fc4">clone</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="class_slic3r_1_1_config_option.html#ac1c4ee8190f3eadc8a12ad94f9d5ae76">serialize</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option.html#a45ee45f35a1e691e3a0c53d76012c57a">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <span class="keyword">set</span>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> &amp;option) = 0;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option.html#a48d75494e5da015b08891a6712bc3bf4">   39</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_slic3r_1_1_config_option.html#a48d75494e5da015b08891a6712bc3bf4">getInt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; };</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option.html#a465b2573ca6f4f4bc47dc805114ae977">   40</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_config_option.html#a465b2573ca6f4f4bc47dc805114ae977">getFloat</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0; };</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option.html#a78800592be78a66830a85da7f382d13c">   41</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option.html#a78800592be78a66830a85da7f382d13c">getBool</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; };</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option.html#a4053d8e5c10b52c368232e2767f9792e">   42</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_config_option.html#a4053d8e5c10b52c368232e2767f9792e">setInt</a>(<span class="keywordtype">int</span> val) {};</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option.html#a8555c22bc73e825ef51d62672d0ff88c">   43</a></span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="class_slic3r_1_1_config_option.html#a8555c22bc73e825ef51d62672d0ff88c">getString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>; };</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option.html#a6e529e711a2c50a74103c6abb9c1858c">operator== </a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> &amp;a, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> &amp;b);</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <span class="keyword">friend</span> <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option.html#a5e946c33967f9f066b9c9f7cbe2b3bc6">operator!= </a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> &amp;a, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> &amp;b);</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;};</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_single.html">   50</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> {</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">   52</a></span>&#160;    T <a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_single.html#a0695c42c9db732034645500f913568c1">   53</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_single.html#a0695c42c9db732034645500f913568c1">ConfigOptionSingle</a>(T _value) : value(_value) {};</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_single.html#a69377b73a601a27817b11d924615a106">   54</a></span>&#160;    <span class="keyword">operator</span> T()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>; };</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    </div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_single.html#a01c6047317fc347e69da03e62cb5770d">   56</a></span>&#160;    <span class="keywordtype">void</span> <span class="keyword">set</span>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> &amp;option) {</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;        <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle&lt;T&gt;</a>* other = <span class="keyword">dynamic_cast&lt;</span> <span class="keyword">const </span><a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle&lt;T&gt;</a>* <span class="keyword">&gt;</span>(&amp;option);</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        <span class="keywordflow">if</span> (other != NULL) this-&gt;value = other-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    };</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;};</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_vector_base.html">   63</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_vector_base.html">ConfigOptionVectorBase</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> {</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_vector_base.html#aef5fb47b808df07ca79e6751aadba064">   65</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_config_option_vector_base.html#aef5fb47b808df07ca79e6751aadba064">~ConfigOptionVectorBase</a>() {};</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keyword">virtual</span> std::vector&lt;std::string&gt; <a class="code" href="class_slic3r_1_1_config_option_vector_base.html#a8af121744a6b4af4a7cbeb114fffa1e7">vserialize</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;};</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_vector.html">   71</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_vector_base.html">ConfigOptionVectorBase</a></div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">   74</a></span>&#160;    std::vector&lt;T&gt; <a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_vector.html#a9c5c0c6a677c240ecdcfe444062e87f6">   75</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_vector.html#a9c5c0c6a677c240ecdcfe444062e87f6">ConfigOptionVector</a>() {};</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_vector.html#a1c2c4824a8f1ed10164bc5036453097d">   76</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_vector.html#a1c2c4824a8f1ed10164bc5036453097d">ConfigOptionVector</a>(<span class="keyword">const</span> std::vector&lt;T&gt; _values) : values(_values) {};</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_vector.html#a4a5fa1cc202a296866ed6db3e027634f">   77</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_config_option_vector.html#a4a5fa1cc202a296866ed6db3e027634f">~ConfigOptionVector</a>() {};</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    </div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_vector.html#a395fa49b5320a36e81df9f0d72ffb943">   79</a></span>&#160;    <span class="keywordtype">void</span> <span class="keyword">set</span>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> &amp;option) {</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector&lt;T&gt;</a>* other = <span class="keyword">dynamic_cast&lt;</span> <span class="keyword">const </span><a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector&lt;T&gt;</a>* <span class="keyword">&gt;</span>(&amp;option);</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keywordflow">if</span> (other != NULL) this-&gt;values = other-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    };</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    </div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_vector.html#ac251cc0fe8e680b9d77292ab9af7856a">   84</a></span>&#160;    T <a class="code" href="class_slic3r_1_1_config_option_vector.html#ac251cc0fe8e680b9d77292ab9af7856a">get_at</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keywordflow">try</span> {</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;            <span class="keywordflow">return</span> this-&gt;values.at(i);</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        } <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::out_of_range&amp; oor) {</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;            <span class="keywordflow">return</span> this-&gt;values.front();</div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        }</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    };</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;};</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float.html">   95</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_float.html">ConfigOptionFloat</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;double&gt;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;{</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float.html#a0e20209ef1e9f810869a8f473b3cefb1">   98</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_float.html#a0e20209ef1e9f810869a8f473b3cefb1">ConfigOptionFloat</a>() : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;double&gt;(0) {};</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float.html#ab97de381131fbca53266cbbb77bdd338">   99</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_float.html#ab97de381131fbca53266cbbb77bdd338">ConfigOptionFloat</a>(<span class="keywordtype">double</span> _value) : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;double&gt;(_value) {};</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float.html#aacdf174931f339e65d78747fcee062d7">  100</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_float.html">ConfigOptionFloat</a>* <a class="code" href="class_slic3r_1_1_config_option_float.html#aacdf174931f339e65d78747fcee062d7">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_float.html#a0e20209ef1e9f810869a8f473b3cefb1">ConfigOptionFloat</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>); };</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    </div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float.html#a60ce8956bc5efc8c0608f9b7c5bdc741">  102</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_config_option_float.html#a60ce8956bc5efc8c0608f9b7c5bdc741">getFloat</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>; };</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    </div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float.html#a29f60266acbfceed26bd0a7c5a386824">  104</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_float.html#a29f60266acbfceed26bd0a7c5a386824">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        ss &lt;&lt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;    };</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    </div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float.html#afa89a6f54890b1c9f9ce291ea8758bfe">  110</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_float.html#afa89a6f54890b1c9f9ce291ea8758bfe">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        std::istringstream iss(str);</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        iss &gt;&gt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;        <span class="keywordflow">return</span> !iss.fail();</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    };</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;};</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_floats.html">  118</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_floats.html">ConfigOptionFloats</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;double&gt;</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;{</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_floats.html#a3e015215c0659076927b82130695d524">  121</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_floats.html#a3e015215c0659076927b82130695d524">ConfigOptionFloats</a>() {};</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_floats.html#a259b86259140dcbaf9809f2db79eb2d6">  122</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_floats.html#a259b86259140dcbaf9809f2db79eb2d6">ConfigOptionFloats</a>(<span class="keyword">const</span> std::vector&lt;double&gt; _values) : <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;double&gt;(_values) {};</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_floats.html#a4c05598138796c2b378f4631b74311e4">  123</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_floats.html">ConfigOptionFloats</a>* <a class="code" href="class_slic3r_1_1_config_option_floats.html#a4c05598138796c2b378f4631b74311e4">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_floats.html#a3e015215c0659076927b82130695d524">ConfigOptionFloats</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>); };</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    </div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_floats.html#ac03be9bcb15d883de12d4d4cfc5d7af5">  125</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_floats.html#ac03be9bcb15d883de12d4d4cfc5d7af5">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;        <span class="keywordflow">for</span> (std::vector&lt;double&gt;::const_iterator it = this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin(); it != this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.end(); ++it) {</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;            <span class="keywordflow">if</span> (it - this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin() != 0) ss &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;            ss &lt;&lt; *it;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        }</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    };</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    </div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_floats.html#aa14adf840351025e29272552db0695df">  134</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="class_slic3r_1_1_config_option_floats.html#aa14adf840351025e29272552db0695df">vserialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        std::vector&lt;std::string&gt; vv;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        vv.reserve(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.size());</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="keywordflow">for</span> (std::vector&lt;double&gt;::const_iterator it = this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin(); it != this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.end(); ++it) {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;            std::ostringstream ss;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;            ss &lt;&lt; *it;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;            vv.push_back(ss.str());</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        }</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        <span class="keywordflow">return</span> vv;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    };</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    </div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_floats.html#a29a92cafd7a5fc3cf1d6e043e894d280">  145</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_floats.html#a29a92cafd7a5fc3cf1d6e043e894d280">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        <span class="keywordflow">if</span> (!append) this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.clear();</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        std::istringstream is(str);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        std::string item_str;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordflow">while</span> (std::getline(is, item_str, <span class="charliteral">&#39;,&#39;</span>)) {</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;            std::istringstream iss(item_str);</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;            <span class="keywordtype">double</span> value;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;            iss &gt;&gt; value;</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;            this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.push_back(value);</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        }</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    };</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;};</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_int.html">  159</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_int.html">ConfigOptionInt</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;int&gt;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;{</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_int.html#ac2645e976fb0406b489b734386536ddb">  162</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_int.html#ac2645e976fb0406b489b734386536ddb">ConfigOptionInt</a>() : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;int&gt;(0) {};</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_int.html#a36dc035f37d131006f5a50e0c134b585">  163</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_int.html#a36dc035f37d131006f5a50e0c134b585">ConfigOptionInt</a>(<span class="keywordtype">double</span> _value) : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;int&gt;(_value) {};</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_int.html#adfaf26add217268ecbbb281e6d9ead7d">  164</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_int.html">ConfigOptionInt</a>* <a class="code" href="class_slic3r_1_1_config_option_int.html#adfaf26add217268ecbbb281e6d9ead7d">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_int.html#ac2645e976fb0406b489b734386536ddb">ConfigOptionInt</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>); };</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    </div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_int.html#a45aee46f54b11cc1c473bf5fcde6d883">  166</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_slic3r_1_1_config_option_int.html#a45aee46f54b11cc1c473bf5fcde6d883">getInt</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>; };</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_int.html#af106fd960247998c676ec9af2ddc6242">  167</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_config_option_int.html#af106fd960247998c676ec9af2ddc6242">setInt</a>(<span class="keywordtype">int</span> val) { this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a> = val; };</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    </div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_int.html#a4ac102e93917aadd150c052255e52eb4">  169</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_int.html#a4ac102e93917aadd150c052255e52eb4">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;        ss &lt;&lt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;    };</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    </div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_int.html#a7fcaa0a0e537a9c96e44e10f935572aa">  175</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_int.html#a7fcaa0a0e537a9c96e44e10f935572aa">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;        std::istringstream iss(str);</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        iss &gt;&gt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;        <span class="keywordflow">return</span> !iss.fail();</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    };</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;};</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_ints.html">  182</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_ints.html">ConfigOptionInts</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;int&gt;</div><div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;{</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_ints.html#ad480b0ed5729f7ac408447ce2a4ebda0">  185</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_ints.html#ad480b0ed5729f7ac408447ce2a4ebda0">ConfigOptionInts</a>() {};</div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_ints.html#a1daa6b7e52fe1dfc37f9a0002bf0b430">  186</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_ints.html#a1daa6b7e52fe1dfc37f9a0002bf0b430">ConfigOptionInts</a>(<span class="keyword">const</span> std::vector&lt;int&gt; _values) : <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;int&gt;(_values) {};</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_ints.html#aa19fcc374517bcbaff3f5c877a8f5fd9">  187</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_ints.html">ConfigOptionInts</a>* <a class="code" href="class_slic3r_1_1_config_option_ints.html#aa19fcc374517bcbaff3f5c877a8f5fd9">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_ints.html#ad480b0ed5729f7ac408447ce2a4ebda0">ConfigOptionInts</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>); };</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    </div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_ints.html#aed06dbaf48490dc9d013a68fa57d89b5">  189</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_ints.html#aed06dbaf48490dc9d013a68fa57d89b5">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;        <span class="keywordflow">for</span> (std::vector&lt;int&gt;::const_iterator it = this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin(); it != this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.end(); ++it) {</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;            <span class="keywordflow">if</span> (it - this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin() != 0) ss &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;            ss &lt;&lt; *it;</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        }</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    };</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;    </div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_ints.html#a2530f50de9cbe78a348241fe2d5fe759">  198</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="class_slic3r_1_1_config_option_ints.html#a2530f50de9cbe78a348241fe2d5fe759">vserialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        std::vector&lt;std::string&gt; vv;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        vv.reserve(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.size());</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keywordflow">for</span> (std::vector&lt;int&gt;::const_iterator it = this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin(); it != this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.end(); ++it) {</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;            std::ostringstream ss;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;            ss &lt;&lt; *it;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;            vv.push_back(ss.str());</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        }</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;        <span class="keywordflow">return</span> vv;</div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;    };</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    </div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_ints.html#a680b1f8b1525aab873519092b91d5dd0">  209</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_ints.html#a680b1f8b1525aab873519092b91d5dd0">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        <span class="keywordflow">if</span> (!append) this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.clear();</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        std::istringstream is(str);</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        std::string item_str;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keywordflow">while</span> (std::getline(is, item_str, <span class="charliteral">&#39;,&#39;</span>)) {</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;            std::istringstream iss(item_str);</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;            <span class="keywordtype">int</span> value;</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;            iss &gt;&gt; value;</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;            this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.push_back(value);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        }</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    };</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;};</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_string.html">  223</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_string.html">ConfigOptionString</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;std::string&gt;</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;{</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_string.html#af688995788e0dbc0dcc9e9c30860e92f">  226</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_string.html#af688995788e0dbc0dcc9e9c30860e92f">ConfigOptionString</a>() : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;std::string&gt;(<span class="stringliteral">&quot;&quot;</span>) {};</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_string.html#a8e0c797344d5544f5c95888d06126482">  227</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_string.html#a8e0c797344d5544f5c95888d06126482">ConfigOptionString</a>(std::string _value) : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;std::string&gt;(_value) {};</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_string.html#a9938fb1fe529a0c0177664c99fd13098">  228</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_string.html">ConfigOptionString</a>* <a class="code" href="class_slic3r_1_1_config_option_string.html#a9938fb1fe529a0c0177664c99fd13098">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_string.html#af688995788e0dbc0dcc9e9c30860e92f">ConfigOptionString</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>); };</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    </div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_string.html#a15a4184adefcd100469c658dabef5f0d">  230</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_string.html#a15a4184adefcd100469c658dabef5f0d">getString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>; };</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    </div><div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_string.html#a90c755bf9dd6d6b27326b3d8003faa32">  232</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_string.html#a90c755bf9dd6d6b27326b3d8003faa32">serialize</a>()<span class="keyword"> const </span>{ </div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespace_slic3r.html#a2e87a52c2cac1469b96a2765775bb7c0">escape_string_cstyle</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    };</div><div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_string.html#a1d3f55a057f4b9a5d9007a119bfbfc18">  236</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_string.html#a1d3f55a057f4b9a5d9007a119bfbfc18">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespace_slic3r.html#adc08139e1bb59d39e8faa5ef4754c5e5">unescape_string_cstyle</a>(str, this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    };</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;};</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;</div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_strings.html">  242</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_strings.html">ConfigOptionStrings</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;std::string&gt;</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;{</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_strings.html#a7a9fe153d5f6dc4a86f19bd692af2b44">  245</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_strings.html#a7a9fe153d5f6dc4a86f19bd692af2b44">ConfigOptionStrings</a>() {};</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_strings.html#ac346d591c3fe063bf469a2ce0f6a8aac">  246</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_strings.html#ac346d591c3fe063bf469a2ce0f6a8aac">ConfigOptionStrings</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt; _values) : <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;std::string&gt;(_values) {};</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_strings.html#abc060dd1d17ad7839ca9c84835a4efe6">  247</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_strings.html">ConfigOptionStrings</a>* <a class="code" href="class_slic3r_1_1_config_option_strings.html#abc060dd1d17ad7839ca9c84835a4efe6">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_strings.html#a7a9fe153d5f6dc4a86f19bd692af2b44">ConfigOptionStrings</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>); };</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    </div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_strings.html#a24a3e54da302ff5b587f89be0066aef9">  249</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_strings.html#a24a3e54da302ff5b587f89be0066aef9">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespace_slic3r.html#af0ba93eb38e1604641b4f38c82994b20">escape_strings_cstyle</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    };</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    </div><div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_strings.html#aaa425cce75e5bc016cbb4458dd636ce6">  253</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="class_slic3r_1_1_config_option_strings.html#aaa425cce75e5bc016cbb4458dd636ce6">vserialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        <span class="keywordflow">return</span> this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    };</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    </div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_strings.html#a4cb74feebc5ee350d98dec3675d6f12a">  257</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_strings.html#a4cb74feebc5ee350d98dec3675d6f12a">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        <span class="keywordflow">if</span> (!append) this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.clear();</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;        <span class="keywordflow">return</span> <a class="code" href="namespace_slic3r.html#a1adc7c939ed5b67e5d02173e31667818">unescape_strings_cstyle</a>(str, this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>);</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    };</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;};</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;</div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_percent.html">  265</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_percent.html">ConfigOptionPercent</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_float.html">ConfigOptionFloat</a></div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;{</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_percent.html#af7c9cafa19ef92f0c4e81dfc54bec60c">  268</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_percent.html#af7c9cafa19ef92f0c4e81dfc54bec60c">ConfigOptionPercent</a>() : <a class="code" href="class_slic3r_1_1_config_option_float.html">ConfigOptionFloat</a>(0) {};</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_percent.html#a324156fa0925b6818475794c0631efb5">  269</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_percent.html#a324156fa0925b6818475794c0631efb5">ConfigOptionPercent</a>(<span class="keywordtype">double</span> _value) : <a class="code" href="class_slic3r_1_1_config_option_float.html">ConfigOptionFloat</a>(_value) {};</div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_percent.html#ac2d0719e2e52ff40204a52469ecfc3d9">  270</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_percent.html">ConfigOptionPercent</a>* <a class="code" href="class_slic3r_1_1_config_option_percent.html#ac2d0719e2e52ff40204a52469ecfc3d9">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_percent.html#af7c9cafa19ef92f0c4e81dfc54bec60c">ConfigOptionPercent</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>); };</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    </div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_percent.html#a132c858a83832db6a5980632db37b799">  274</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_config_option_percent.html#a132c858a83832db6a5980632db37b799">get_abs_value</a>(<span class="keywordtype">double</span> ratio_over)<span class="keyword"> const </span>{</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keywordflow">return</span> ratio_over * this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a> / 100;</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    };</div><div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;    </div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_percent.html#a7d5e3eff87aa780bfc940a615a185a90">  278</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_percent.html#a7d5e3eff87aa780bfc940a615a185a90">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        ss &lt;&lt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        std::string s(ss.str());</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        s += <span class="stringliteral">&quot;%&quot;</span>;</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        <span class="keywordflow">return</span> s;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    };</div><div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    </div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_percent.html#ade6ef97d34074ab433b64fd5870b86fd">  286</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_percent.html#ade6ef97d34074ab433b64fd5870b86fd">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        <span class="comment">// don&#39;t try to parse the trailing % since it&#39;s optional</span></div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        std::istringstream iss(str);</div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        iss &gt;&gt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <span class="keywordflow">return</span> !iss.fail();</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    };</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;};</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float_or_percent.html">  297</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html">ConfigOptionFloatOrPercent</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_percent.html">ConfigOptionPercent</a></div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;{</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float_or_percent.html#a2eea58c97909368dd17e7f55922a27af">  300</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html#a2eea58c97909368dd17e7f55922a27af">percent</a>;</div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float_or_percent.html#a1536e237b148fdfe20ecc53f7cc10623">  301</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html#a1536e237b148fdfe20ecc53f7cc10623">ConfigOptionFloatOrPercent</a>() : <a class="code" href="class_slic3r_1_1_config_option_percent.html">ConfigOptionPercent</a>(0), percent(false) {};</div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float_or_percent.html#a17c9b2ed89aec9e6fa5e63779fbe0411">  302</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html#a17c9b2ed89aec9e6fa5e63779fbe0411">ConfigOptionFloatOrPercent</a>(<span class="keywordtype">double</span> _value, <span class="keywordtype">bool</span> _percent)</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        : <a class="code" href="class_slic3r_1_1_config_option_percent.html">ConfigOptionPercent</a>(_value), percent(_percent) {};</div><div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float_or_percent.html#a94610e7aa21be44a3451c1d97c003f7b">  304</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html">ConfigOptionFloatOrPercent</a>* <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html#a94610e7aa21be44a3451c1d97c003f7b">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html#a1536e237b148fdfe20ecc53f7cc10623">ConfigOptionFloatOrPercent</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>, this-&gt;percent); };</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    </div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float_or_percent.html#a496091598ce49816ee83f90d15a615ec">  306</a></span>&#160;    <span class="keywordtype">void</span> <span class="keyword">set</span>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a> &amp;option) {</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html">ConfigOptionFloatOrPercent</a>* other = <span class="keyword">dynamic_cast&lt;</span> <span class="keyword">const </span><a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html">ConfigOptionFloatOrPercent</a>* <span class="keyword">&gt;</span>(&amp;option);</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        <span class="keywordflow">if</span> (other != NULL) {</div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;            this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a> = other-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;            this-&gt;percent = other-&gt;<a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html#a2eea58c97909368dd17e7f55922a27af">percent</a>;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;        }</div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;    };</div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;    </div><div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float_or_percent.html#aae1f65ce53e8aafbf245403197e65bfd">  314</a></span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html#aae1f65ce53e8aafbf245403197e65bfd">get_abs_value</a>(<span class="keywordtype">double</span> ratio_over)<span class="keyword"> const </span>{</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;        <span class="keywordflow">if</span> (this-&gt;percent) {</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;            <span class="keywordflow">return</span> ratio_over * this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a> / 100;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            <span class="keywordflow">return</span> this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;        }</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    };</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    </div><div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float_or_percent.html#a180b96bde02bfa4f6e53f8fd90ea5664">  322</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html#a180b96bde02bfa4f6e53f8fd90ea5664">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;        ss &lt;&lt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;        std::string s(ss.str());</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;        <span class="keywordflow">if</span> (this-&gt;percent) s += <span class="stringliteral">&quot;%&quot;</span>;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;        <span class="keywordflow">return</span> s;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    };</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    </div><div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_float_or_percent.html#ac0cc6fee6bc51a7e23eed6f525eba1a8">  330</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_float_or_percent.html#ac0cc6fee6bc51a7e23eed6f525eba1a8">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;        this-&gt;percent = str.find_first_of(<span class="stringliteral">&quot;%&quot;</span>) != std::string::npos;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;        std::istringstream iss(str);</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        iss &gt;&gt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>;</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;        <span class="keywordflow">return</span> !iss.fail();</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    };</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;};</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point.html">  339</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_point.html">ConfigOptionPoint</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;Pointf&gt;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;{</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point.html#a83e760b2996793d14ea9f76201aab68f">  342</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_point.html#a83e760b2996793d14ea9f76201aab68f">ConfigOptionPoint</a>() : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;<a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a>&gt;(<a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a>(0,0)) {};</div><div class="line"><a name="l00343"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point.html#a7fb175124f95b22526561691e1161108">  343</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_point.html#a7fb175124f95b22526561691e1161108">ConfigOptionPoint</a>(<a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a> _value) : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;<a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a>&gt;(_value) {};</div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point.html#a3c7fe9297c661cb8e7392ccffb708386">  344</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_point.html">ConfigOptionPoint</a>* <a class="code" href="class_slic3r_1_1_config_option_point.html#a3c7fe9297c661cb8e7392ccffb708386">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_point.html#a83e760b2996793d14ea9f76201aab68f">ConfigOptionPoint</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>); };</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;    </div><div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point.html#a9ba388ae61fa71e7516f05eedb961994">  346</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_point.html#a9ba388ae61fa71e7516f05eedb961994">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        ss &lt;&lt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>.<a class="code" href="class_slic3r_1_1_pointf.html#a6d552059a2bc31a7a6e4b65f6420d9c3">x</a>;</div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        ss &lt;&lt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>.<a class="code" href="class_slic3r_1_1_pointf.html#a765fe637f2320f3f0eb7fe327cfebbb8">y</a>;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    };</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    </div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_point.html#a27f2056b75e2b6406ac55bed5d9b67ca">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>);</div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;};</div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point3.html">  358</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_point3.html">ConfigOptionPoint3</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;Pointf3&gt;</div><div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;{</div><div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point3.html#af5f0f1f47b529c2ff715c0a3167e5b00">  361</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_point3.html#af5f0f1f47b529c2ff715c0a3167e5b00">ConfigOptionPoint3</a>() : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;<a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a>&gt;(<a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a>(0,0,0)) {};</div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point3.html#ae9f4e9ac1b63f3c9f11b94c8f1d8db23">  362</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_point3.html#ae9f4e9ac1b63f3c9f11b94c8f1d8db23">ConfigOptionPoint3</a>(<a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a> _value) : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;<a class="code" href="class_slic3r_1_1_pointf3.html">Pointf3</a>&gt;(_value) {};</div><div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point3.html#a9cd32db547023f8981f9f81f6bdb42c7">  363</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_point3.html">ConfigOptionPoint3</a>* <a class="code" href="class_slic3r_1_1_config_option_point3.html#a9cd32db547023f8981f9f81f6bdb42c7">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_point3.html#af5f0f1f47b529c2ff715c0a3167e5b00">ConfigOptionPoint3</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>); };</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    </div><div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point3.html#a28d686e0709fba723593135b4c76eaea">  365</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_point3.html#a28d686e0709fba723593135b4c76eaea">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        ss &lt;&lt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>.<a class="code" href="class_slic3r_1_1_pointf.html#a6d552059a2bc31a7a6e4b65f6420d9c3">x</a>;</div><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        ss &lt;&lt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>.<a class="code" href="class_slic3r_1_1_pointf.html#a765fe637f2320f3f0eb7fe327cfebbb8">y</a>;</div><div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;        ss &lt;&lt; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>.<a class="code" href="class_slic3r_1_1_pointf3.html#a26f53e218ab0a88c06567d877b5e53d5">z</a>;</div><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    };</div><div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    </div><div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_point3.html#a3e66efda8bee736b4433940fda2921ae">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>);</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    </div><div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_point3.html#a65426f77287048840a7f814e06b78c09">  377</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_point3.html#a65426f77287048840a7f814e06b78c09">is_positive_volume</a> () {</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;        <span class="keywordflow">return</span> this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>.<a class="code" href="class_slic3r_1_1_pointf.html#a6d552059a2bc31a7a6e4b65f6420d9c3">x</a> &gt; 0 &amp;&amp; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>.<a class="code" href="class_slic3r_1_1_pointf.html#a765fe637f2320f3f0eb7fe327cfebbb8">y</a> &gt; 0 &amp;&amp; this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>.<a class="code" href="class_slic3r_1_1_pointf3.html#a26f53e218ab0a88c06567d877b5e53d5">z</a> &gt; 0;</div><div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    };</div><div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;};</div><div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_points.html">  382</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_points.html">ConfigOptionPoints</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;Pointf&gt;</div><div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;{</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_points.html#a180304f3bcb6b9a6251a6cdd50d37f41">  385</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_points.html#a180304f3bcb6b9a6251a6cdd50d37f41">ConfigOptionPoints</a>() {};</div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_points.html#a737e8bf193301378e8602c61b4462526">  386</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_points.html#a737e8bf193301378e8602c61b4462526">ConfigOptionPoints</a>(<span class="keyword">const</span> std::vector&lt;Pointf&gt; _values) : <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;<a class="code" href="class_slic3r_1_1_pointf.html">Pointf</a>&gt;(_values) {};</div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_points.html#aec176ae862e94530b48e4f05f8805f67">  387</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_points.html">ConfigOptionPoints</a>* <a class="code" href="class_slic3r_1_1_config_option_points.html#aec176ae862e94530b48e4f05f8805f67">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_points.html#a180304f3bcb6b9a6251a6cdd50d37f41">ConfigOptionPoints</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>); };</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;    </div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_points.html#a0a72bbbba29e59877151012edfa538b6">  389</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_points.html#a0a72bbbba29e59877151012edfa538b6">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;        <span class="keywordflow">for</span> (Pointfs::const_iterator it = this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin(); it != this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.end(); ++it) {</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;            <span class="keywordflow">if</span> (it - this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin() != 0) ss &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;            ss &lt;&lt; it-&gt;x;</div><div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;            ss &lt;&lt; <span class="stringliteral">&quot;x&quot;</span>;</div><div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;            ss &lt;&lt; it-&gt;y;</div><div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        }</div><div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;    };</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    </div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_points.html#abb9b22833053c07532b515d4d3bcee5d">  400</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="class_slic3r_1_1_config_option_points.html#abb9b22833053c07532b515d4d3bcee5d">vserialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        std::vector&lt;std::string&gt; vv;</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        <span class="keywordflow">for</span> (Pointfs::const_iterator it = this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin(); it != this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.end(); ++it) {</div><div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;            std::ostringstream ss;</div><div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;            ss &lt;&lt; *it;</div><div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;            vv.push_back(ss.str());</div><div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;        }</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;        <span class="keywordflow">return</span> vv;</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    };</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    </div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_points.html#ad7946b5c5b05fa2dad89e58ce30b05ab">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>);</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;};</div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div><div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div><div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bool.html">  415</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_bool.html">ConfigOptionBool</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;bool&gt;</div><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;{</div><div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bool.html#a674517ab5c78783de2d916b03e32dc20">  418</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_bool.html#a674517ab5c78783de2d916b03e32dc20">ConfigOptionBool</a>() : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;bool&gt;(false) {};</div><div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bool.html#a2b1c94774a3a164ec17084d3e9f46714">  419</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_bool.html#a2b1c94774a3a164ec17084d3e9f46714">ConfigOptionBool</a>(<span class="keywordtype">bool</span> _value) : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;bool&gt;(_value) {};</div><div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bool.html#afa9d8a6ce45539ddf51531df13b495f8">  420</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_bool.html">ConfigOptionBool</a>* <a class="code" href="class_slic3r_1_1_config_option_bool.html#afa9d8a6ce45539ddf51531df13b495f8">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_bool.html#a674517ab5c78783de2d916b03e32dc20">ConfigOptionBool</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>); };</div><div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;    </div><div class="line"><a name="l00422"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bool.html#a8090b4b6d30447476c7e56de02cf6545">  422</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_bool.html#a8090b4b6d30447476c7e56de02cf6545">getBool</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>; };</div><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;    </div><div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bool.html#a6d8edb8351425ea0ff35b0a259d319c3">  424</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_bool.html#a6d8edb8351425ea0ff35b0a259d319c3">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <span class="keywordflow">return</span> std::string(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a> ? <span class="stringliteral">&quot;1&quot;</span> : <span class="stringliteral">&quot;0&quot;</span>);</div><div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    };</div><div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    </div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bool.html#ae3017e5430f7ccf3e7acbbcbdcd389b9">  428</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_bool.html#ae3017e5430f7ccf3e7acbbcbdcd389b9">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a> = (str.compare(<span class="stringliteral">&quot;1&quot;</span>) == 0);</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;    };</div><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;};</div><div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div><div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bools.html">  434</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_bools.html">ConfigOptionBools</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;bool&gt;</div><div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;{</div><div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bools.html#a149455dd12438ade45054f43c9c8224e">  437</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_bools.html#a149455dd12438ade45054f43c9c8224e">ConfigOptionBools</a>() {};</div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bools.html#aaf1010fe635d0853faa6754bb54f3e4a">  438</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_bools.html#aaf1010fe635d0853faa6754bb54f3e4a">ConfigOptionBools</a>(<span class="keyword">const</span> std::vector&lt;bool&gt; _values) : <a class="code" href="class_slic3r_1_1_config_option_vector.html">ConfigOptionVector</a>&lt;bool&gt;(_values) {};</div><div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bools.html#a940014a2727366d812ba3bc79db8b33e">  439</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_bools.html">ConfigOptionBools</a>* <a class="code" href="class_slic3r_1_1_config_option_bools.html#a940014a2727366d812ba3bc79db8b33e">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_bools.html#a149455dd12438ade45054f43c9c8224e">ConfigOptionBools</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>); };</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;    </div><div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bools.html#aec1f00a1ed461010de450e0fbfdf1a0a">  441</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_bools.html#aec1f00a1ed461010de450e0fbfdf1a0a">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;        std::ostringstream ss;</div><div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        <span class="keywordflow">for</span> (std::vector&lt;bool&gt;::const_iterator it = this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin(); it != this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.end(); ++it) {</div><div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;            <span class="keywordflow">if</span> (it - this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin() != 0) ss &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;            ss &lt;&lt; (*it ? <span class="stringliteral">&quot;1&quot;</span> : <span class="stringliteral">&quot;0&quot;</span>);</div><div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        }</div><div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        <span class="keywordflow">return</span> ss.str();</div><div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    };</div><div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    </div><div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bools.html#ac8e8bbb4aa53c47ad70cb9e2f8bd93aa">  450</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="class_slic3r_1_1_config_option_bools.html#ac8e8bbb4aa53c47ad70cb9e2f8bd93aa">vserialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;        std::vector&lt;std::string&gt; vv;</div><div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;        <span class="keywordflow">for</span> (std::vector&lt;bool&gt;::const_iterator it = this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.begin(); it != this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.end(); ++it) {</div><div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;            std::ostringstream ss;</div><div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;            ss &lt;&lt; (*it ? <span class="stringliteral">&quot;1&quot;</span> : <span class="stringliteral">&quot;0&quot;</span>);</div><div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;            vv.push_back(ss.str());</div><div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;        }</div><div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        <span class="keywordflow">return</span> vv;</div><div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;    };</div><div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;    </div><div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_bools.html#ac0c9735c43800ae02254379f11113474">  460</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_bools.html#ac0c9735c43800ae02254379f11113474">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        <span class="keywordflow">if</span> (!append) this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.clear();</div><div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        std::istringstream is(str);</div><div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        std::string item_str;</div><div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        <span class="keywordflow">while</span> (std::getline(is, item_str, <span class="charliteral">&#39;,&#39;</span>)) {</div><div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;            this-&gt;<a class="code" href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">values</a>.push_back(item_str.compare(<span class="stringliteral">&quot;1&quot;</span>) == 0);</div><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        }</div><div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    };</div><div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;};</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;</div><div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ac75002536c668dbfd08a4a03960e9a0e">  472</a></span>&#160;<span class="keyword">typedef</span> std::map&lt;std::string,int&gt; <a class="code" href="namespace_slic3r.html#ac75002536c668dbfd08a4a03960e9a0e">t_config_enum_values</a>;</div><div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;</div><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum.html">  476</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_enum.html">ConfigOptionEnum</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;T&gt;</div><div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;{</div><div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;    <span class="comment">// by default, use the first value (0) of the T enum type</span></div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum.html#a479010000a8e5294736a3bff28fb7f86">  480</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_enum.html#a479010000a8e5294736a3bff28fb7f86">ConfigOptionEnum</a>() : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;T&gt;(static_cast&lt;T&gt;(0)) {};</div><div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum.html#a460dca5fa83b0fc36c4331b3744c2525">  481</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_enum.html#a460dca5fa83b0fc36c4331b3744c2525">ConfigOptionEnum</a>(T _value) : <a class="code" href="class_slic3r_1_1_config_option_single.html">ConfigOptionSingle</a>&lt;T&gt;(_value) {};</div><div class="line"><a name="l00482"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum.html#af0e38f6ad833902f1a5e9ad50bd35db4">  482</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_enum.html">ConfigOptionEnum&lt;T&gt;</a>* <a class="code" href="class_slic3r_1_1_config_option_enum.html#af0e38f6ad833902f1a5e9ad50bd35db4">clone</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="class_slic3r_1_1_config_option_enum.html">ConfigOptionEnum&lt;T&gt;</a>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a>); };</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;    </div><div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum.html#aae48a8308c27f0cb9263e56da216674b">  484</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_enum.html#aae48a8308c27f0cb9263e56da216674b">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        t_config_enum_values enum_keys_map = <a class="code" href="class_slic3r_1_1_config_option_enum.html#a5a46180b80252ab402ebcd56fdfdafc9">ConfigOptionEnum&lt;T&gt;::get_enum_values</a>();</div><div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        <span class="keywordflow">for</span> (t_config_enum_values::iterator it = enum_keys_map.begin(); it != enum_keys_map.end(); ++it) {</div><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;            <span class="keywordflow">if</span> (it-&gt;second == static_cast&lt;int&gt;(this-&gt;value)) <span class="keywordflow">return</span> it-&gt;first;</div><div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        }</div><div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;        <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;    };</div><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;</div><div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum.html#a48c684ed54c6b55c07f61d5ab54e051b">  492</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_enum.html#a48c684ed54c6b55c07f61d5ab54e051b">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        t_config_enum_values enum_keys_map = <a class="code" href="class_slic3r_1_1_config_option_enum.html#a5a46180b80252ab402ebcd56fdfdafc9">ConfigOptionEnum&lt;T&gt;::get_enum_values</a>();</div><div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;        <span class="keywordflow">if</span> (enum_keys_map.count(str) == 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a> = <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(enum_keys_map[str]);</div><div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;    };</div><div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <span class="comment">//FIXME The map is called often, it shall be initialized statically.</span></div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;    <span class="keyword">static</span> t_config_enum_values <a class="code" href="class_slic3r_1_1_config_option_enum.html#a5a46180b80252ab402ebcd56fdfdafc9">get_enum_values</a>();</div><div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;};</div><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum_generic.html">  508</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_enum_generic.html">ConfigOptionEnumGeneric</a> : <span class="keyword">public</span> <a class="code" href="class_slic3r_1_1_config_option_int.html">ConfigOptionInt</a></div><div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;{</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum_generic.html#ad5a2b5ae10a4963b87d7c39475a58a24">  511</a></span>&#160;    <span class="keyword">const</span> t_config_enum_values* <a class="code" href="class_slic3r_1_1_config_option_enum_generic.html#ad5a2b5ae10a4963b87d7c39475a58a24">keys_map</a>;</div><div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    </div><div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum_generic.html#ab188c5201b9b43a47e048a6301be9988">  513</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_enum_generic.html#ab188c5201b9b43a47e048a6301be9988">serialize</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;        <span class="keywordflow">for</span> (t_config_enum_values::const_iterator it = this-&gt;keys_map-&gt;begin(); it != this-&gt;keys_map-&gt;end(); ++it) {</div><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;            <span class="keywordflow">if</span> (it-&gt;second == this-&gt;value) <span class="keywordflow">return</span> it-&gt;first;</div><div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;        }</div><div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    };</div><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_enum_generic.html#ab7790326640ad952154c80da6a504ce6">  520</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_enum_generic.html#ab7790326640ad952154c80da6a504ce6">deserialize</a>(std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>) {</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        <span class="keywordflow">if</span> (this-&gt;keys_map-&gt;count(str) == 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;        this-&gt;<a class="code" href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">value</a> = (*<span class="keyword">const_cast&lt;</span>t_config_enum_values*<span class="keyword">&gt;</span>(this-&gt;<a class="code" href="class_slic3r_1_1_config_option_enum_generic.html#ad5a2b5ae10a4963b87d7c39475a58a24">keys_map</a>))[str];</div><div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    };</div><div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;};</div><div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;</div><div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05d">  528</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05d">ConfigOptionType</a> {</div><div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da63ce37b455fe0f8ca9ce4807ba34a0db">  529</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da63ce37b455fe0f8ca9ce4807ba34a0db">coNone</a>,</div><div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da6fc8e2b47c21774d7b1b2177c9330a68">  531</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da6fc8e2b47c21774d7b1b2177c9330a68">coFloat</a>,</div><div class="line"><a name="l00533"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05dade03a632a71a60d75e7fa4ae91850611">  533</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05dade03a632a71a60d75e7fa4ae91850611">coFloats</a>,</div><div class="line"><a name="l00535"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da6208ed2b3dd884c139f42c396058c26c">  535</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da6208ed2b3dd884c139f42c396058c26c">coInt</a>,</div><div class="line"><a name="l00537"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da3fda88472dbd7030ce02672dd6ae44b8">  537</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da3fda88472dbd7030ce02672dd6ae44b8">coInts</a>,</div><div class="line"><a name="l00539"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da1cf926fa9e3c16e3cd6f6e001370eff5">  539</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da1cf926fa9e3c16e3cd6f6e001370eff5">coString</a>,</div><div class="line"><a name="l00541"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05dac242c19dded7e7375fcaa72ecc7e6ec5">  541</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05dac242c19dded7e7375fcaa72ecc7e6ec5">coStrings</a>,</div><div class="line"><a name="l00543"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05daeb9429c75ace7416a3b90d0f7237e34a">  543</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05daeb9429c75ace7416a3b90d0f7237e34a">coPercent</a>,</div><div class="line"><a name="l00545"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da79487730eddc1a2e9588d1e8e9d0aea6">  545</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da79487730eddc1a2e9588d1e8e9d0aea6">coFloatOrPercent</a>,</div><div class="line"><a name="l00547"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da23cf8f3171a6801ea05db7ad10c7d6a6">  547</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da23cf8f3171a6801ea05db7ad10c7d6a6">coPoint</a>,</div><div class="line"><a name="l00549"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da52ce3d8c4bb3bab4d9c50af38c93c46f">  549</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da52ce3d8c4bb3bab4d9c50af38c93c46f">coPoints</a>,</div><div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da2a441920d525d34fa862fdf28922a75f">  550</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da2a441920d525d34fa862fdf28922a75f">coPoint3</a>,</div><div class="line"><a name="l00552"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da66fc7a8b8079de988563c15f7b62105f">  552</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da66fc7a8b8079de988563c15f7b62105f">coBool</a>,</div><div class="line"><a name="l00554"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da28c9c9e6fd96bf9cbd651c2ed7f41078">  554</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da28c9c9e6fd96bf9cbd651c2ed7f41078">coBools</a>,</div><div class="line"><a name="l00556"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da297634c409a151f6ea730ac380ea1897">  556</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da297634c409a151f6ea730ac380ea1897">coEnum</a>,</div><div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;};</div><div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;</div><div class="line"><a name="l00560"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html">  560</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_option_def.html">ConfigOptionDef</a></div><div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;{</div><div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00575"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a509c55eb2468f75264d81e62c6b1df98">  575</a></span>&#160;    <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05d">ConfigOptionType</a> <a class="code" href="class_slic3r_1_1_config_option_def.html#a509c55eb2468f75264d81e62c6b1df98">type</a>;</div><div class="line"><a name="l00579"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a3840f0a99853f2da3d6fdf8a8a97f50e">  579</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a>* <a class="code" href="class_slic3r_1_1_config_option_def.html#a3840f0a99853f2da3d6fdf8a8a97f50e">default_value</a>;</div><div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a1264df3b80f9d7d78472c52ffc8c3baa">  586</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_def.html#a1264df3b80f9d7d78472c52ffc8c3baa">gui_type</a>;</div><div class="line"><a name="l00590"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#ae61d9878a48d57e6b0bd498c34067562">  590</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_def.html#ae61d9878a48d57e6b0bd498c34067562">gui_flags</a>;</div><div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#ab10367dc39bc011ecb964a8e0b79d471">  595</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_def.html#ab10367dc39bc011ecb964a8e0b79d471">label</a>;</div><div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a0aabbf94c0bc67eda3aaf24e8c6ab47f">  596</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_def.html#a0aabbf94c0bc67eda3aaf24e8c6ab47f">full_label</a>;</div><div class="line"><a name="l00599"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#aafbe4e52592c7c2a0f1c366d52f79b90">  599</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_def.html#aafbe4e52592c7c2a0f1c366d52f79b90">category</a>;</div><div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a87e8ade156a70f11bc6e38dbff2227ae">  601</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_def.html#a87e8ade156a70f11bc6e38dbff2227ae">tooltip</a>;</div><div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a0cde4aa96c92ae727b60386b7286c7f4">  603</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_def.html#a0cde4aa96c92ae727b60386b7286c7f4">sidetext</a>;</div><div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a4ce16e552905a7ba479b6d734e3ecf93">  605</a></span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_option_def.html#a4ce16e552905a7ba479b6d734e3ecf93">cli</a>;</div><div class="line"><a name="l00610"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a1b29a1241f48cc7bd942212d211059d0">  610</a></span>&#160;    t_config_option_key <a class="code" href="class_slic3r_1_1_config_option_def.html#a1b29a1241f48cc7bd942212d211059d0">ratio_over</a>;</div><div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a8f96d702c695af4358b95b4a748f9086">  612</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_def.html#a8f96d702c695af4358b95b4a748f9086">multiline</a>;</div><div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#acd8f2010c8db145e5f4a6f9d2a8d74f8">  614</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_def.html#acd8f2010c8db145e5f4a6f9d2a8d74f8">full_width</a>;</div><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;</div><div class="line"><a name="l00618"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a5177a4fe4faeada70507b49a7c1532c1">  618</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_option_def.html#a5177a4fe4faeada70507b49a7c1532c1">readonly</a>;</div><div class="line"><a name="l00620"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#af18fa0801fd50b2d3495c3c70286133d">  620</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_slic3r_1_1_config_option_def.html#af18fa0801fd50b2d3495c3c70286133d">height</a>;</div><div class="line"><a name="l00622"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a01d055530a7f314dbeaacef0b19bb00a">  622</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_slic3r_1_1_config_option_def.html#a01d055530a7f314dbeaacef0b19bb00a">width</a>;</div><div class="line"><a name="l00626"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a3e6af07d2bc2c6574c785f9d7c4c2d84">  626</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_slic3r_1_1_config_option_def.html#a3e6af07d2bc2c6574c785f9d7c4c2d84">min</a>;</div><div class="line"><a name="l00627"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a06874704b02d8d8eaf0f248120814c2a">  627</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_slic3r_1_1_config_option_def.html#a06874704b02d8d8eaf0f248120814c2a">max</a>;</div><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;</div><div class="line"><a name="l00631"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#aed9082f82f293a715fc42d01420da465">  631</a></span>&#160;    std::vector&lt;t_config_option_key&gt; <a class="code" href="class_slic3r_1_1_config_option_def.html#aed9082f82f293a715fc42d01420da465">aliases</a>;</div><div class="line"><a name="l00634"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#ab5746c302df3a58f3cf46caf64ab96aa">  634</a></span>&#160;    std::vector&lt;t_config_option_key&gt; <a class="code" href="class_slic3r_1_1_config_option_def.html#ab5746c302df3a58f3cf46caf64ab96aa">shortcut</a>;</div><div class="line"><a name="l00637"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#af2d58f88e554685163f69e79cfe91e41">  637</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="class_slic3r_1_1_config_option_def.html#af2d58f88e554685163f69e79cfe91e41">enum_values</a>;</div><div class="line"><a name="l00638"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#a938ffb6d920ec5dc7ed5fc914d3d5f8f">  638</a></span>&#160;    std::vector&lt;std::string&gt; <a class="code" href="class_slic3r_1_1_config_option_def.html#a938ffb6d920ec5dc7ed5fc914d3d5f8f">enum_labels</a>;</div><div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#ad76bb52adc2b719456d8643939f84aa5">  641</a></span>&#160;    t_config_enum_values <a class="code" href="class_slic3r_1_1_config_option_def.html#ad76bb52adc2b719456d8643939f84aa5">enum_keys_map</a>;</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_option_def.html#af5dfccbb462d9dda65ca7492095f7dc8">  643</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_def.html#af5dfccbb462d9dda65ca7492095f7dc8">ConfigOptionDef</a>() : type(<a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da63ce37b455fe0f8ca9ce4807ba34a0db">coNone</a>), default_value(NULL),</div><div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;                        multiline(false), full_width(false), readonly(false),</div><div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;                        height(-1), width(-1), min(INT_MIN), max(INT_MAX) {};</div><div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_def.html#af5dfccbb462d9dda65ca7492095f7dc8">ConfigOptionDef</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option_def.html">ConfigOptionDef</a> &amp;other);</div><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_def.html#a478791d5e35982ba596d3f2cee06a9f7">~ConfigOptionDef</a>();</div><div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    </div><div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;    <span class="keyword">private</span>:</div><div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_def.html">ConfigOptionDef</a>&amp; operator= (<a class="code" href="class_slic3r_1_1_config_option_def.html">ConfigOptionDef</a> other);</div><div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;};</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;</div><div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;<span class="comment">//i The definition does not carry an actual value of the config option, only its constant default value.</span></div><div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;<span class="comment">//i t_config_option_key is std::string</span></div><div class="line"><a name="l00656"></a><span class="lineno"><a class="line" href="namespace_slic3r.html#a53e9324b7324aee899d933419e6aed34">  656</a></span>&#160;<span class="keyword">typedef</span> std::map&lt;t_config_option_key,ConfigOptionDef&gt; <a class="code" href="namespace_slic3r.html#a53e9324b7324aee899d933419e6aed34">t_optiondef_map</a>;</div><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div><div class="line"><a name="l00661"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_def.html">  661</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_def.html">ConfigDef</a></div><div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;{</div><div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00664"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_def.html#af8462e5e01cd6eb77b48881eff2226bf">  664</a></span>&#160;    t_optiondef_map <a class="code" href="class_slic3r_1_1_config_def.html#af8462e5e01cd6eb77b48881eff2226bf">options</a>;</div><div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_def.html">ConfigOptionDef</a>* <a class="code" href="class_slic3r_1_1_config_def.html#a59bfeb729bf8ec75a870dd89902b5f6b">add</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key, <a class="code" href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05d">ConfigOptionType</a> type);</div><div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    <a class="code" href="class_slic3r_1_1_config_option_def.html">ConfigOptionDef</a>* <a class="code" href="class_slic3r_1_1_config_def.html#a59bfeb729bf8ec75a870dd89902b5f6b">add</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key, <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option_def.html">ConfigOptionDef</a> &amp;def);</div><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_def.html#a8b0d4aff83c030dde01837614fa70c69">has</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key) <span class="keyword">const</span>;</div><div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option_def.html">ConfigOptionDef</a>* <span class="keyword">get</span>(<span class="keyword">const</span> t_config_option_key &amp;opt_key) <span class="keyword">const</span>;</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_config_def.html#a1a6e9c69aea8b4de691691d42f010e20">merge</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_def.html">ConfigDef</a> &amp;other);</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;};</div><div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;</div><div class="line"><a name="l00673"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_base.html">  673</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_config_base.html">ConfigBase</a></div><div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;{</div><div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00680"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_base.html#a1d07bfb37b6cb1dc9c28f4a0d21be04b">  680</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_def.html">ConfigDef</a>* <a class="code" href="class_slic3r_1_1_config_base.html#a1d07bfb37b6cb1dc9c28f4a0d21be04b">def</a>;</div><div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;    </div><div class="line"><a name="l00682"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_base.html#abf3654613ca336c457dfa07a69e32bf7">  682</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_base.html#abf3654613ca336c457dfa07a69e32bf7">ConfigBase</a>() : def(NULL) {};</div><div class="line"><a name="l00683"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_base.html#a419e3e2e0d34824ee7816b5b9f981849">  683</a></span>&#160;    <a class="code" href="class_slic3r_1_1_config_base.html#a419e3e2e0d34824ee7816b5b9f981849">ConfigBase</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_def.html">ConfigDef</a>* def) : def(def) {};</div><div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_base.html#a30c895697d020cdbac8a677eafe99bd3">  684</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_config_base.html#a30c895697d020cdbac8a677eafe99bd3">~ConfigBase</a>() {};</div><div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_base.html#ad882be02e50a11d202291328e9be867a">has</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key) <span class="keyword">const</span>;</div><div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    <span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a>* <a class="code" href="class_slic3r_1_1_config_base.html#a46b69c0d0bd3bdbf1763df07c57ac62f">option</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key) <span class="keyword">const</span>;</div><div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;    <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a>* <a class="code" href="class_slic3r_1_1_config_base.html#a46b69c0d0bd3bdbf1763df07c57ac62f">option</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key, <span class="keywordtype">bool</span> create = <span class="keyword">false</span>);</div><div class="line"><a name="l00688"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_base.html#a0ea330099d0f9531ea45695c6e01e1a9">  688</a></span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; T* <a class="code" href="class_slic3r_1_1_config_base.html#a0ea330099d0f9531ea45695c6e01e1a9">opt</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key, <span class="keywordtype">bool</span> create = <span class="keyword">false</span>) {</div><div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">dynamic_cast&lt;</span>T*<span class="keyword">&gt;</span>(this-&gt;<a class="code" href="class_slic3r_1_1_config_base.html#a46b69c0d0bd3bdbf1763df07c57ac62f">option</a>(opt_key, create));</div><div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;    };</div><div class="line"><a name="l00691"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_config_base.html#a91c5d424fd349567258a73e95f440d34">  691</a></span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">const</span> T* <a class="code" href="class_slic3r_1_1_config_base.html#a91c5d424fd349567258a73e95f440d34">opt</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key)<span class="keyword"> const </span>{</div><div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">dynamic_cast&lt;</span><span class="keyword">const </span>T*<span class="keyword">&gt;</span>(this-&gt;<a class="code" href="class_slic3r_1_1_config_base.html#a46b69c0d0bd3bdbf1763df07c57ac62f">option</a>(opt_key));</div><div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;    };</div><div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a>* <a class="code" href="class_slic3r_1_1_config_base.html#ac8ba5eb3c38f38fb41bfa2195f05c3e8">optptr</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key, <span class="keywordtype">bool</span> create = <span class="keyword">false</span>) = 0;</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;    <span class="keyword">virtual</span> t_config_option_keys <a class="code" href="class_slic3r_1_1_config_base.html#aa4b79ae20e460d24b8a77114931225a0">keys</a>() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_config_base.html#a2bd0c2e3992bf03b0cc357e01babef6d">apply</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_base.html">ConfigBase</a> &amp;other, <span class="keywordtype">bool</span> ignore_nonexistent = <span class="keyword">false</span>);</div><div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_config_base.html#a563a12e741b4846174b707660fd92ee5">apply_only</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_base.html">ConfigBase</a> &amp;other, <span class="keyword">const</span> t_config_option_keys &amp;opt_keys, <span class="keywordtype">bool</span> ignore_nonexistent = <span class="keyword">false</span>);</div><div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_base.html#a263c0cba0abbd6c593e0e335927aa29f">equals</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_base.html">ConfigBase</a> &amp;other) <span class="keyword">const</span>;</div><div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;    t_config_option_keys <a class="code" href="class_slic3r_1_1_config_base.html#a67a26dd998d0ea8fdd9a74db89a5ab11">diff</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_base.html">ConfigBase</a> &amp;other) <span class="keyword">const</span>;</div><div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;    std::string <a class="code" href="class_slic3r_1_1_config_base.html#a850829b2ecc60267b430b48b336629a8">serialize</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key) <span class="keyword">const</span>;</div><div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_config_base.html#a5e3cf48421bcc7da91798f8cca839f48">set_deserialize</a>(t_config_option_key opt_key, std::string str, <span class="keywordtype">bool</span> append = <span class="keyword">false</span>);</div><div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_config_base.html#accef447510c6901f24349334e7980afd">get_abs_value</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key) <span class="keyword">const</span>;</div><div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;    <span class="keywordtype">double</span> <a class="code" href="class_slic3r_1_1_config_base.html#accef447510c6901f24349334e7980afd">get_abs_value</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key, <span class="keywordtype">double</span> ratio_over) <span class="keyword">const</span>;</div><div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_config_base.html#aa507a559aaa0207232299021b4d8411c">setenv_</a>();</div><div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_config_base.html#ae7d39a3b8239c1cf926bd9bbda4a0684">load</a>(<span class="keyword">const</span> std::string &amp;file);</div><div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_config_base.html#a2dc1cd07325a0483f1aea82855a3c82e">save</a>(<span class="keyword">const</span> std::string &amp;file) <span class="keyword">const</span>;</div><div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;};</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;</div><div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_dynamic_config.html">  711</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_dynamic_config.html">DynamicConfig</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_config_base.html">ConfigBase</a></div><div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;{</div><div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_dynamic_config.html#a328475283a37cfd8d678d00eff9bd024">  714</a></span>&#160;    <a class="code" href="class_slic3r_1_1_dynamic_config.html#a328475283a37cfd8d678d00eff9bd024">DynamicConfig</a>() {};</div><div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_dynamic_config.html#a673f080f64c3425420fbb5cc7aae5b76">  715</a></span>&#160;    <a class="code" href="class_slic3r_1_1_dynamic_config.html#a673f080f64c3425420fbb5cc7aae5b76">DynamicConfig</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_config_def.html">ConfigDef</a>* <a class="code" href="class_slic3r_1_1_config_base.html#a1d07bfb37b6cb1dc9c28f4a0d21be04b">def</a>) : <a class="code" href="class_slic3r_1_1_config_base.html">ConfigBase</a>(def) {};</div><div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <a class="code" href="class_slic3r_1_1_dynamic_config.html#a328475283a37cfd8d678d00eff9bd024">DynamicConfig</a>(<span class="keyword">const</span> <a class="code" href="class_slic3r_1_1_dynamic_config.html">DynamicConfig</a>&amp; other);</div><div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;    <a class="code" href="class_slic3r_1_1_dynamic_config.html">DynamicConfig</a>&amp; <a class="code" href="class_slic3r_1_1_dynamic_config.html#a93ec5ab9da9315fdc66308c1da02ba39">operator= </a>(<a class="code" href="class_slic3r_1_1_dynamic_config.html">DynamicConfig</a> other);</div><div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_dynamic_config.html#a6be15ea03c07e8c222154a40dc3187df">swap</a>(<a class="code" href="class_slic3r_1_1_dynamic_config.html">DynamicConfig</a> &amp;other);</div><div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_dynamic_config.html#ac3c759fb274a88572d1d6d86d03bae1f">~DynamicConfig</a>();</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_config_option.html">ConfigOption</a>* <a class="code" href="class_slic3r_1_1_dynamic_config.html#ae045769051e1cec64a9b3427177e9bea">optptr</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key, <span class="keywordtype">bool</span> create = <span class="keyword">false</span>);</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;    t_config_option_keys <a class="code" href="class_slic3r_1_1_dynamic_config.html#ab9a1b37185cd3263bafee672abf5767b">keys</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_dynamic_config.html#a27b240309a6af646ca437db4e0a31e09">erase</a>(<span class="keyword">const</span> t_config_option_key &amp;opt_key);</div><div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_dynamic_config.html#a178535495ef2ca27397d88fb46659e00">clear</a>();</div><div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_slic3r_1_1_dynamic_config.html#a3743421178fddb8a5663118b211ebfa3">empty</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_dynamic_config.html#aec83fc986e8fd0a029fe0b1256ac717a">read_cli</a>(<span class="keyword">const</span> std::vector&lt;std::string&gt; &amp;tokens, t_config_option_keys* extra);</div><div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_dynamic_config.html#aec83fc986e8fd0a029fe0b1256ac717a">read_cli</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv, t_config_option_keys* extra);</div><div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;    </div><div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;    <span class="keyword">private</span>:</div><div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;    <span class="keyword">typedef</span> std::map&lt;t_config_option_key,ConfigOption*&gt; t_options_map;</div><div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;    t_options_map options;</div><div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;};</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;</div><div class="line"><a name="l00736"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_static_config.html">  736</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_static_config.html">StaticConfig</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="class_slic3r_1_1_config_base.html">ConfigBase</a></div><div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;{</div><div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00739"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_static_config.html#a94929cd2cc3c17f00e069751f1ee29cd">  739</a></span>&#160;    <a class="code" href="class_slic3r_1_1_static_config.html#a94929cd2cc3c17f00e069751f1ee29cd">StaticConfig</a>() : <a class="code" href="class_slic3r_1_1_config_base.html">ConfigBase</a>() {};</div><div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;    t_config_option_keys <a class="code" href="class_slic3r_1_1_static_config.html#a27ef9f6e96149e9627768297b6b1d6be">keys</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_slic3r_1_1_static_config.html#af6b12b1d188a07eecb55a733eb671da2">set_defaults</a>();</div><div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;};</div><div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;</div><div class="line"><a name="l00750"></a><span class="lineno"><a class="line" href="class_slic3r_1_1_unknown_option_exception.html">  750</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slic3r_1_1_unknown_option_exception.html">UnknownOptionException</a> : <span class="keyword">public</span> std::exception {};</div><div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;</div><div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;}</div><div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;</div><div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="class_slic3r_1_1_static_config_html_a27ef9f6e96149e9627768297b6b1d6be"><div class="ttname"><a href="class_slic3r_1_1_static_config.html#a27ef9f6e96149e9627768297b6b1d6be">Slic3r::StaticConfig::keys</a></div><div class="ttdeci">t_config_option_keys keys() const</div><div class="ttdef"><b>Definition:</b> Config.cpp:648</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da52ce3d8c4bb3bab4d9c50af38c93c46f"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da52ce3d8c4bb3bab4d9c50af38c93c46f">Slic3r::coPoints</a></div><div class="ttdoc">vector of 2d points. Currently used for the definition of the print bed and for the extruder offsets...</div><div class="ttdef"><b>Definition:</b> Config.hpp:549</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_aec83fc986e8fd0a029fe0b1256ac717a"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#aec83fc986e8fd0a029fe0b1256ac717a">Slic3r::DynamicConfig::read_cli</a></div><div class="ttdeci">void read_cli(const std::vector&lt; std::string &gt; &amp;tokens, t_config_option_keys *extra)</div><div class="ttdef"><b>Definition:</b> Config.cpp:528</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_a765fe637f2320f3f0eb7fe327cfebbb8"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a765fe637f2320f3f0eb7fe327cfebbb8">Slic3r::Pointf::y</a></div><div class="ttdeci">coordf_t y</div><div class="ttdef"><b>Definition:</b> Point.hpp:108</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_vector_html_a4a5fa1cc202a296866ed6db3e027634f"><div class="ttname"><a href="class_slic3r_1_1_config_option_vector.html#a4a5fa1cc202a296866ed6db3e027634f">Slic3r::ConfigOptionVector::~ConfigOptionVector</a></div><div class="ttdeci">virtual ~ConfigOptionVector()</div><div class="ttdef"><b>Definition:</b> Config.hpp:77</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a8f96d702c695af4358b95b4a748f9086"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a8f96d702c695af4358b95b4a748f9086">Slic3r::ConfigOptionDef::multiline</a></div><div class="ttdeci">bool multiline</div><div class="ttdoc">True for multiline strings. </div><div class="ttdef"><b>Definition:</b> Config.hpp:612</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da6208ed2b3dd884c139f42c396058c26c"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da6208ed2b3dd884c139f42c396058c26c">Slic3r::coInt</a></div><div class="ttdoc">single int </div><div class="ttdef"><b>Definition:</b> Config.hpp:535</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a0cde4aa96c92ae727b60386b7286c7f4"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a0cde4aa96c92ae727b60386b7286c7f4">Slic3r::ConfigOptionDef::sidetext</a></div><div class="ttdeci">std::string sidetext</div><div class="ttdoc">Text right from the input field, usually a unit of measurement. </div><div class="ttdef"><b>Definition:</b> Config.hpp:603</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_html_a60ce8956bc5efc8c0608f9b7c5bdc741"><div class="ttname"><a href="class_slic3r_1_1_config_option_float.html#a60ce8956bc5efc8c0608f9b7c5bdc741">Slic3r::ConfigOptionFloat::getFloat</a></div><div class="ttdeci">double getFloat() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:102</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_strings_html_abc060dd1d17ad7839ca9c84835a4efe6"><div class="ttname"><a href="class_slic3r_1_1_config_option_strings.html#abc060dd1d17ad7839ca9c84835a4efe6">Slic3r::ConfigOptionStrings::clone</a></div><div class="ttdeci">ConfigOptionStrings * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:247</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_aa4b79ae20e460d24b8a77114931225a0"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#aa4b79ae20e460d24b8a77114931225a0">Slic3r::ConfigBase::keys</a></div><div class="ttdeci">virtual t_config_option_keys keys() const =0</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bools_html_ac8e8bbb4aa53c47ad70cb9e2f8bd93aa"><div class="ttname"><a href="class_slic3r_1_1_config_option_bools.html#ac8e8bbb4aa53c47ad70cb9e2f8bd93aa">Slic3r::ConfigOptionBools::vserialize</a></div><div class="ttdeci">std::vector&lt; std::string &gt; vserialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:450</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_generic_html_ab7790326640ad952154c80da6a504ce6"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum_generic.html#ab7790326640ad952154c80da6a504ce6">Slic3r::ConfigOptionEnumGeneric::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:520</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_vector_base_html_aef5fb47b808df07ca79e6751aadba064"><div class="ttname"><a href="class_slic3r_1_1_config_option_vector_base.html#aef5fb47b808df07ca79e6751aadba064">Slic3r::ConfigOptionVectorBase::~ConfigOptionVectorBase</a></div><div class="ttdeci">virtual ~ConfigOptionVectorBase()</div><div class="ttdef"><b>Definition:</b> Config.hpp:65</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_a27b240309a6af646ca437db4e0a31e09"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#a27b240309a6af646ca437db4e0a31e09">Slic3r::DynamicConfig::erase</a></div><div class="ttdeci">void erase(const t_config_option_key &amp;opt_key)</div><div class="ttdef"><b>Definition:</b> Config.cpp:513</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_int_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_int.html">Slic3r::ConfigOptionInt</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:159</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_percent_html_a324156fa0925b6818475794c0631efb5"><div class="ttname"><a href="class_slic3r_1_1_config_option_percent.html#a324156fa0925b6818475794c0631efb5">Slic3r::ConfigOptionPercent::ConfigOptionPercent</a></div><div class="ttdeci">ConfigOptionPercent(double _value)</div><div class="ttdef"><b>Definition:</b> Config.hpp:269</div></div>
<div class="ttc" id="libslic3r_8h_html"><div class="ttname"><a href="libslic3r_8h.html">libslic3r.h</a></div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05dade03a632a71a60d75e7fa4ae91850611"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05dade03a632a71a60d75e7fa4ae91850611">Slic3r::coFloats</a></div><div class="ttdoc">vector of floats </div><div class="ttdef"><b>Definition:</b> Config.hpp:533</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05dac242c19dded7e7375fcaa72ecc7e6ec5"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05dac242c19dded7e7375fcaa72ecc7e6ec5">Slic3r::coStrings</a></div><div class="ttdoc">vector of strings </div><div class="ttdef"><b>Definition:</b> Config.hpp:541</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_a93ec5ab9da9315fdc66308c1da02ba39"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#a93ec5ab9da9315fdc66308c1da02ba39">Slic3r::DynamicConfig::operator=</a></div><div class="ttdeci">DynamicConfig &amp; operator=(DynamicConfig other)</div><div class="ttdef"><b>Definition:</b> Config.cpp:429</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point_html_a9ba388ae61fa71e7516f05eedb961994"><div class="ttname"><a href="class_slic3r_1_1_config_option_point.html#a9ba388ae61fa71e7516f05eedb961994">Slic3r::ConfigOptionPoint::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:346</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a1d07bfb37b6cb1dc9c28f4a0d21be04b"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a1d07bfb37b6cb1dc9c28f4a0d21be04b">Slic3r::ConfigBase::def</a></div><div class="ttdeci">const ConfigDef * def</div><div class="ttdef"><b>Definition:</b> Config.hpp:680</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_percent_html_ac2d0719e2e52ff40204a52469ecfc3d9"><div class="ttname"><a href="class_slic3r_1_1_config_option_percent.html#ac2d0719e2e52ff40204a52469ecfc3d9">Slic3r::ConfigOptionPercent::clone</a></div><div class="ttdeci">ConfigOptionPercent * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:270</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_html_a5a46180b80252ab402ebcd56fdfdafc9"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum.html#a5a46180b80252ab402ebcd56fdfdafc9">Slic3r::ConfigOptionEnum::get_enum_values</a></div><div class="ttdeci">static t_config_enum_values get_enum_values()</div><div class="ttdoc">Map from an enum name to an enum integer value. </div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point_html_a27f2056b75e2b6406ac55bed5d9b67ca"><div class="ttname"><a href="class_slic3r_1_1_config_option_point.html#a27f2056b75e2b6406ac55bed5d9b67ca">Slic3r::ConfigOptionPoint::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.cpp:658</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_string_html_a15a4184adefcd100469c658dabef5f0d"><div class="ttname"><a href="class_slic3r_1_1_config_option_string.html#a15a4184adefcd100469c658dabef5f0d">Slic3r::ConfigOptionString::getString</a></div><div class="ttdeci">std::string getString() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:230</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_string_html_af688995788e0dbc0dcc9e9c30860e92f"><div class="ttname"><a href="class_slic3r_1_1_config_option_string.html#af688995788e0dbc0dcc9e9c30860e92f">Slic3r::ConfigOptionString::ConfigOptionString</a></div><div class="ttdeci">ConfigOptionString()</div><div class="ttdef"><b>Definition:</b> Config.hpp:226</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_accef447510c6901f24349334e7980afd"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#accef447510c6901f24349334e7980afd">Slic3r::ConfigBase::get_abs_value</a></div><div class="ttdeci">double get_abs_value(const t_config_option_key &amp;opt_key) const</div><div class="ttdef"><b>Definition:</b> Config.cpp:333</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_html_a460dca5fa83b0fc36c4331b3744c2525"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum.html#a460dca5fa83b0fc36c4331b3744c2525">Slic3r::ConfigOptionEnum::ConfigOptionEnum</a></div><div class="ttdeci">ConfigOptionEnum(T _value)</div><div class="ttdef"><b>Definition:</b> Config.hpp:481</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_html_aae48a8308c27f0cb9263e56da216674b"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum.html#aae48a8308c27f0cb9263e56da216674b">Slic3r::ConfigOptionEnum::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:484</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_string_html_a90c755bf9dd6d6b27326b3d8003faa32"><div class="ttname"><a href="class_slic3r_1_1_config_option_string.html#a90c755bf9dd6d6b27326b3d8003faa32">Slic3r::ConfigOptionString::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:232</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bools_html_aaf1010fe635d0853faa6754bb54f3e4a"><div class="ttname"><a href="class_slic3r_1_1_config_option_bools.html#aaf1010fe635d0853faa6754bb54f3e4a">Slic3r::ConfigOptionBools::ConfigOptionBools</a></div><div class="ttdeci">ConfigOptionBools(const std::vector&lt; bool &gt; _values)</div><div class="ttdef"><b>Definition:</b> Config.hpp:438</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_af18fa0801fd50b2d3495c3c70286133d"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#af18fa0801fd50b2d3495c3c70286133d">Slic3r::ConfigOptionDef::height</a></div><div class="ttdeci">int height</div><div class="ttdoc">Height of a multiline GUI text box. </div><div class="ttdef"><b>Definition:</b> Config.hpp:620</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a0aabbf94c0bc67eda3aaf24e8c6ab47f"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a0aabbf94c0bc67eda3aaf24e8c6ab47f">Slic3r::ConfigOptionDef::full_label</a></div><div class="ttdeci">std::string full_label</div><div class="ttdef"><b>Definition:</b> Config.hpp:596</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_ac1c4ee8190f3eadc8a12ad94f9d5ae76"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#ac1c4ee8190f3eadc8a12ad94f9d5ae76">Slic3r::ConfigOption::serialize</a></div><div class="ttdeci">virtual std::string serialize() const =0</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_af2d58f88e554685163f69e79cfe91e41"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#af2d58f88e554685163f69e79cfe91e41">Slic3r::ConfigOptionDef::enum_values</a></div><div class="ttdeci">std::vector&lt; std::string &gt; enum_values</div><div class="ttdef"><b>Definition:</b> Config.hpp:637</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_a6be15ea03c07e8c222154a40dc3187df"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#a6be15ea03c07e8c222154a40dc3187df">Slic3r::DynamicConfig::swap</a></div><div class="ttdeci">void swap(DynamicConfig &amp;other)</div><div class="ttdef"><b>Definition:</b> Config.cpp:436</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_html_ab97de381131fbca53266cbbb77bdd338"><div class="ttname"><a href="class_slic3r_1_1_config_option_float.html#ab97de381131fbca53266cbbb77bdd338">Slic3r::ConfigOptionFloat::ConfigOptionFloat</a></div><div class="ttdeci">ConfigOptionFloat(double _value)</div><div class="ttdef"><b>Definition:</b> Config.hpp:99</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html"><div class="ttname"><a href="class_slic3r_1_1_config_option.html">Slic3r::ConfigOption</a></div><div class="ttdoc">Public interface for configuration options. </div><div class="ttdef"><b>Definition:</b> Config.hpp:32</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_vector_html_a9c5c0c6a677c240ecdcfe444062e87f6"><div class="ttname"><a href="class_slic3r_1_1_config_option_vector.html#a9c5c0c6a677c240ecdcfe444062e87f6">Slic3r::ConfigOptionVector::ConfigOptionVector</a></div><div class="ttdeci">ConfigOptionVector()</div><div class="ttdef"><b>Definition:</b> Config.hpp:75</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_vector_base_html_a8af121744a6b4af4a7cbeb114fffa1e7"><div class="ttname"><a href="class_slic3r_1_1_config_option_vector_base.html#a8af121744a6b4af4a7cbeb114fffa1e7">Slic3r::ConfigOptionVectorBase::vserialize</a></div><div class="ttdeci">virtual std::vector&lt; std::string &gt; vserialize() const =0</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_or_percent_html_aae1f65ce53e8aafbf245403197e65bfd"><div class="ttname"><a href="class_slic3r_1_1_config_option_float_or_percent.html#aae1f65ce53e8aafbf245403197e65bfd">Slic3r::ConfigOptionFloatOrPercent::get_abs_value</a></div><div class="ttdeci">double get_abs_value(double ratio_over) const</div><div class="ttdef"><b>Definition:</b> Config.hpp:314</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da6fc8e2b47c21774d7b1b2177c9330a68"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da6fc8e2b47c21774d7b1b2177c9330a68">Slic3r::coFloat</a></div><div class="ttdoc">single float </div><div class="ttdef"><b>Definition:</b> Config.hpp:531</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_int_html_adfaf26add217268ecbbb281e6d9ead7d"><div class="ttname"><a href="class_slic3r_1_1_config_option_int.html#adfaf26add217268ecbbb281e6d9ead7d">Slic3r::ConfigOptionInt::clone</a></div><div class="ttdeci">ConfigOptionInt * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:164</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a5e3cf48421bcc7da91798f8cca839f48"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a5e3cf48421bcc7da91798f8cca839f48">Slic3r::ConfigBase::set_deserialize</a></div><div class="ttdeci">virtual bool set_deserialize(t_config_option_key opt_key, std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.cpp:300</div></div>
<div class="ttc" id="class_slic3r_1_1_config_def_html_a8b0d4aff83c030dde01837614fa70c69"><div class="ttname"><a href="class_slic3r_1_1_config_def.html#a8b0d4aff83c030dde01837614fa70c69">Slic3r::ConfigDef::has</a></div><div class="ttdeci">bool has(const t_config_option_key &amp;opt_key) const</div><div class="ttdef"><b>Definition:</b> Config.cpp:227</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_points_html_a0a72bbbba29e59877151012edfa538b6"><div class="ttname"><a href="class_slic3r_1_1_config_option_points.html#a0a72bbbba29e59877151012edfa538b6">Slic3r::ConfigOptionPoints::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:389</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_strings_html_aaa425cce75e5bc016cbb4458dd636ce6"><div class="ttname"><a href="class_slic3r_1_1_config_option_strings.html#aaa425cce75e5bc016cbb4458dd636ce6">Slic3r::ConfigOptionStrings::vserialize</a></div><div class="ttdeci">std::vector&lt; std::string &gt; vserialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:253</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_or_percent_html_a180b96bde02bfa4f6e53f8fd90ea5664"><div class="ttname"><a href="class_slic3r_1_1_config_option_float_or_percent.html#a180b96bde02bfa4f6e53f8fd90ea5664">Slic3r::ConfigOptionFloatOrPercent::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:322</div></div>
<div class="ttc" id="namespace_slic3r_html_a2e87a52c2cac1469b96a2765775bb7c0"><div class="ttname"><a href="namespace_slic3r.html#a2e87a52c2cac1469b96a2765775bb7c0">Slic3r::escape_string_cstyle</a></div><div class="ttdeci">std::string escape_string_cstyle(const std::string &amp;str)</div><div class="ttdef"><b>Definition:</b> Config.cpp:24</div></div>
<div class="ttc" id="namespace_slic3r_html_ad4503660b414418a65c1d0ed75a8ff06"><div class="ttname"><a href="namespace_slic3r.html#ad4503660b414418a65c1d0ed75a8ff06">Slic3r::t_config_option_keys</a></div><div class="ttdeci">std::vector&lt; std::string &gt; t_config_option_keys</div><div class="ttdef"><b>Definition:</b> Config.hpp:20</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a48d75494e5da015b08891a6712bc3bf4"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a48d75494e5da015b08891a6712bc3bf4">Slic3r::ConfigOption::getInt</a></div><div class="ttdeci">virtual int getInt() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:39</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_percent_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_percent.html">Slic3r::ConfigOptionPercent</a></div><div class="ttdoc">Specialized floating point class to represent some percentage value of another numeric configuration ...</div><div class="ttdef"><b>Definition:</b> Config.hpp:265</div></div>
<div class="ttc" id="class_slic3r_1_1_config_def_html"><div class="ttname"><a href="class_slic3r_1_1_config_def.html">Slic3r::ConfigDef</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:661</div></div>
<div class="ttc" id="class_slic3r_1_1_static_config_html"><div class="ttname"><a href="class_slic3r_1_1_static_config.html">Slic3r::StaticConfig</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:736</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_ae045769051e1cec64a9b3427177e9bea"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#ae045769051e1cec64a9b3427177e9bea">Slic3r::DynamicConfig::optptr</a></div><div class="ttdeci">virtual ConfigOption * optptr(const t_config_option_key &amp;opt_key, bool create=false)</div><div class="ttdef"><b>Definition:</b> Config.cpp:454</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_strings_html_a7a9fe153d5f6dc4a86f19bd692af2b44"><div class="ttname"><a href="class_slic3r_1_1_config_option_strings.html#a7a9fe153d5f6dc4a86f19bd692af2b44">Slic3r::ConfigOptionStrings::ConfigOptionStrings</a></div><div class="ttdeci">ConfigOptionStrings()</div><div class="ttdef"><b>Definition:</b> Config.hpp:245</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bool_html_ae3017e5430f7ccf3e7acbbcbdcd389b9"><div class="ttname"><a href="class_slic3r_1_1_config_option_bool.html#ae3017e5430f7ccf3e7acbbcbdcd389b9">Slic3r::ConfigOptionBool::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:428</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da79487730eddc1a2e9588d1e8e9d0aea6"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da79487730eddc1a2e9588d1e8e9d0aea6">Slic3r::coFloatOrPercent</a></div><div class="ttdoc">a fraction or an absolute value </div><div class="ttdef"><b>Definition:</b> Config.hpp:545</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a3e6af07d2bc2c6574c785f9d7c4c2d84"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a3e6af07d2bc2c6574c785f9d7c4c2d84">Slic3r::ConfigOptionDef::min</a></div><div class="ttdeci">int min</div><div class="ttdef"><b>Definition:</b> Config.hpp:626</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_generic_html_ab188c5201b9b43a47e048a6301be9988"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum_generic.html#ab188c5201b9b43a47e048a6301be9988">Slic3r::ConfigOptionEnumGeneric::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:513</div></div>
<div class="ttc" id="_point_8hpp_html"><div class="ttname"><a href="_point_8hpp.html">Point.hpp</a></div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_int_html_a7fcaa0a0e537a9c96e44e10f935572aa"><div class="ttname"><a href="class_slic3r_1_1_config_option_int.html#a7fcaa0a0e537a9c96e44e10f935572aa">Slic3r::ConfigOptionInt::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:175</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_float.html">Slic3r::ConfigOptionFloat</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:95</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a6e529e711a2c50a74103c6abb9c1858c"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a6e529e711a2c50a74103c6abb9c1858c">Slic3r::ConfigOption::operator==</a></div><div class="ttdeci">friend bool operator==(const ConfigOption &amp;a, const ConfigOption &amp;b)</div><div class="ttdef"><b>Definition:</b> Config.cpp:180</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_strings_html_a4cb74feebc5ee350d98dec3675d6f12a"><div class="ttname"><a href="class_slic3r_1_1_config_option_strings.html#a4cb74feebc5ee350d98dec3675d6f12a">Slic3r::ConfigOptionStrings::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:257</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_or_percent_html_ac0cc6fee6bc51a7e23eed6f525eba1a8"><div class="ttname"><a href="class_slic3r_1_1_config_option_float_or_percent.html#ac0cc6fee6bc51a7e23eed6f525eba1a8">Slic3r::ConfigOptionFloatOrPercent::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:330</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_a673f080f64c3425420fbb5cc7aae5b76"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#a673f080f64c3425420fbb5cc7aae5b76">Slic3r::DynamicConfig::DynamicConfig</a></div><div class="ttdeci">DynamicConfig(const ConfigDef *def)</div><div class="ttdef"><b>Definition:</b> Config.hpp:715</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_html_a29f60266acbfceed26bd0a7c5a386824"><div class="ttname"><a href="class_slic3r_1_1_config_option_float.html#a29f60266acbfceed26bd0a7c5a386824">Slic3r::ConfigOptionFloat::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:104</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a4ce16e552905a7ba479b6d734e3ecf93"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a4ce16e552905a7ba479b6d734e3ecf93">Slic3r::ConfigOptionDef::cli</a></div><div class="ttdeci">std::string cli</div><div class="ttdoc">Format of this parameter on a command line. </div><div class="ttdef"><b>Definition:</b> Config.hpp:605</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a1b29a1241f48cc7bd942212d211059d0"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a1b29a1241f48cc7bd942212d211059d0">Slic3r::ConfigOptionDef::ratio_over</a></div><div class="ttdeci">t_config_option_key ratio_over</div><div class="ttdef"><b>Definition:</b> Config.hpp:610</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a2bd0c2e3992bf03b0cc357e01babef6d"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a2bd0c2e3992bf03b0cc357e01babef6d">Slic3r::ConfigBase::apply</a></div><div class="ttdeci">void apply(const ConfigBase &amp;other, bool ignore_nonexistent=false)</div><div class="ttdef"><b>Definition:</b> Config.cpp:251</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point3_html_a65426f77287048840a7f814e06b78c09"><div class="ttname"><a href="class_slic3r_1_1_config_option_point3.html#a65426f77287048840a7f814e06b78c09">Slic3r::ConfigOptionPoint3::is_positive_volume</a></div><div class="ttdeci">bool is_positive_volume()</div><div class="ttdef"><b>Definition:</b> Config.hpp:377</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bool_html_afa9d8a6ce45539ddf51531df13b495f8"><div class="ttname"><a href="class_slic3r_1_1_config_option_bool.html#afa9d8a6ce45539ddf51531df13b495f8">Slic3r::ConfigOptionBool::clone</a></div><div class="ttdeci">ConfigOptionBool * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:420</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_floats_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_floats.html">Slic3r::ConfigOptionFloats</a></div><div class="ttdoc">Vector form of template specialization for floating point numbers. </div><div class="ttdef"><b>Definition:</b> Config.hpp:118</div></div>
<div class="ttc" id="class_slic3r_1_1_unknown_option_exception_html"><div class="ttname"><a href="class_slic3r_1_1_unknown_option_exception.html">Slic3r::UnknownOptionException</a></div><div class="ttdoc">Specialization of std::exception to indicate that an unknown config option has been encountered...</div><div class="ttdef"><b>Definition:</b> Config.hpp:750</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_aed9082f82f293a715fc42d01420da465"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#aed9082f82f293a715fc42d01420da465">Slic3r::ConfigOptionDef::aliases</a></div><div class="ttdeci">std::vector&lt; t_config_option_key &gt; aliases</div><div class="ttdef"><b>Definition:</b> Config.hpp:631</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_ints_html_ad480b0ed5729f7ac408447ce2a4ebda0"><div class="ttname"><a href="class_slic3r_1_1_config_option_ints.html#ad480b0ed5729f7ac408447ce2a4ebda0">Slic3r::ConfigOptionInts::ConfigOptionInts</a></div><div class="ttdeci">ConfigOptionInts()</div><div class="ttdef"><b>Definition:</b> Config.hpp:185</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_points_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_points.html">Slic3r::ConfigOptionPoints</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:382</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a67a26dd998d0ea8fdd9a74db89a5ab11"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a67a26dd998d0ea8fdd9a74db89a5ab11">Slic3r::ConfigBase::diff</a></div><div class="ttdeci">t_config_option_keys diff(const ConfigBase &amp;other) const</div><div class="ttdef"><b>Definition:</b> Config.cpp:282</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_ae7d39a3b8239c1cf926bd9bbda4a0684"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#ae7d39a3b8239c1cf926bd9bbda4a0684">Slic3r::ConfigBase::load</a></div><div class="ttdeci">void load(const std::string &amp;file)</div><div class="ttdef"><b>Definition:</b> Config.cpp:391</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a938ffb6d920ec5dc7ed5fc914d3d5f8f"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a938ffb6d920ec5dc7ed5fc914d3d5f8f">Slic3r::ConfigOptionDef::enum_labels</a></div><div class="ttdeci">std::vector&lt; std::string &gt; enum_labels</div><div class="ttdef"><b>Definition:</b> Config.hpp:638</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_a178535495ef2ca27397d88fb46659e00"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#a178535495ef2ca27397d88fb46659e00">Slic3r::DynamicConfig::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> Config.cpp:518</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a8555c22bc73e825ef51d62672d0ff88c"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a8555c22bc73e825ef51d62672d0ff88c">Slic3r::ConfigOption::getString</a></div><div class="ttdeci">virtual std::string getString() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:43</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_floats_html_a259b86259140dcbaf9809f2db79eb2d6"><div class="ttname"><a href="class_slic3r_1_1_config_option_floats.html#a259b86259140dcbaf9809f2db79eb2d6">Slic3r::ConfigOptionFloats::ConfigOptionFloats</a></div><div class="ttdeci">ConfigOptionFloats(const std::vector&lt; double &gt; _values)</div><div class="ttdef"><b>Definition:</b> Config.hpp:122</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bool_html_a8090b4b6d30447476c7e56de02cf6545"><div class="ttname"><a href="class_slic3r_1_1_config_option_bool.html#a8090b4b6d30447476c7e56de02cf6545">Slic3r::ConfigOptionBool::getBool</a></div><div class="ttdeci">bool getBool() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:422</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a91c5d424fd349567258a73e95f440d34"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a91c5d424fd349567258a73e95f440d34">Slic3r::ConfigBase::opt</a></div><div class="ttdeci">const T * opt(const t_config_option_key &amp;opt_key) const</div><div class="ttdef"><b>Definition:</b> Config.hpp:691</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_ac3c759fb274a88572d1d6d86d03bae1f"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#ac3c759fb274a88572d1d6d86d03bae1f">Slic3r::DynamicConfig::~DynamicConfig</a></div><div class="ttdeci">virtual ~DynamicConfig()</div><div class="ttdef"><b>Definition:</b> Config.cpp:441</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_string_html_a9938fb1fe529a0c0177664c99fd13098"><div class="ttname"><a href="class_slic3r_1_1_config_option_string.html#a9938fb1fe529a0c0177664c99fd13098">Slic3r::ConfigOptionString::clone</a></div><div class="ttdeci">ConfigOptionString * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:228</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum.html">Slic3r::ConfigOptionEnum</a></div><div class="ttdoc">Templated enumeration representation. </div><div class="ttdef"><b>Definition:</b> Config.hpp:476</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a46b69c0d0bd3bdbf1763df07c57ac62f"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a46b69c0d0bd3bdbf1763df07c57ac62f">Slic3r::ConfigBase::option</a></div><div class="ttdeci">const ConfigOption * option(const t_config_option_key &amp;opt_key) const</div><div class="ttdef"><b>Definition:</b> Config.cpp:381</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a115b29c0449d421d63c1b5d905431f6e"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a115b29c0449d421d63c1b5d905431f6e">Slic3r::ConfigOption::~ConfigOption</a></div><div class="ttdeci">virtual ~ConfigOption()</div><div class="ttdef"><b>Definition:</b> Config.hpp:34</div></div>
<div class="ttc" id="class_slic3r_1_1_config_def_html_a59bfeb729bf8ec75a870dd89902b5f6b"><div class="ttname"><a href="class_slic3r_1_1_config_def.html#a59bfeb729bf8ec75a870dd89902b5f6b">Slic3r::ConfigDef::add</a></div><div class="ttdeci">ConfigOptionDef * add(const t_config_option_key &amp;opt_key, ConfigOptionType type)</div><div class="ttdef"><b>Definition:</b> Config.cpp:212</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_acd8f2010c8db145e5f4a6f9d2a8d74f8"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#acd8f2010c8db145e5f4a6f9d2a8d74f8">Slic3r::ConfigOptionDef::full_width</a></div><div class="ttdeci">bool full_width</div><div class="ttdoc">For text input: If true, the GUI text box spans the complete page width. </div><div class="ttdef"><b>Definition:</b> Config.hpp:614</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_string_html_a1d3f55a057f4b9a5d9007a119bfbfc18"><div class="ttname"><a href="class_slic3r_1_1_config_option_string.html#a1d3f55a057f4b9a5d9007a119bfbfc18">Slic3r::ConfigOptionString::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:236</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_floats_html_ac03be9bcb15d883de12d4d4cfc5d7af5"><div class="ttname"><a href="class_slic3r_1_1_config_option_floats.html#ac03be9bcb15d883de12d4d4cfc5d7af5">Slic3r::ConfigOptionFloats::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:125</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_ab10367dc39bc011ecb964a8e0b79d471"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#ab10367dc39bc011ecb964a8e0b79d471">Slic3r::ConfigOptionDef::label</a></div><div class="ttdeci">std::string label</div><div class="ttdef"><b>Definition:</b> Config.hpp:595</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a87e8ade156a70f11bc6e38dbff2227ae"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a87e8ade156a70f11bc6e38dbff2227ae">Slic3r::ConfigOptionDef::tooltip</a></div><div class="ttdeci">std::string tooltip</div><div class="ttdoc">A tooltip text shown in the GUI. </div><div class="ttdef"><b>Definition:</b> Config.hpp:601</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a1264df3b80f9d7d78472c52ffc8c3baa"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a1264df3b80f9d7d78472c52ffc8c3baa">Slic3r::ConfigOptionDef::gui_type</a></div><div class="ttdeci">std::string gui_type</div><div class="ttdoc">Specialization to indicate to the GUI what kind of control is more appropriate. </div><div class="ttdef"><b>Definition:</b> Config.hpp:586</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_html_afa89a6f54890b1c9f9ce291ea8758bfe"><div class="ttname"><a href="class_slic3r_1_1_config_option_float.html#afa89a6f54890b1c9f9ce291ea8758bfe">Slic3r::ConfigOptionFloat::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:110</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_ints_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_ints.html">Slic3r::ConfigOptionInts</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:182</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da23cf8f3171a6801ea05db7ad10c7d6a6"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da23cf8f3171a6801ea05db7ad10c7d6a6">Slic3r::coPoint</a></div><div class="ttdoc">single 2d point. Currently not used. </div><div class="ttdef"><b>Definition:</b> Config.hpp:547</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_aafbe4e52592c7c2a0f1c366d52f79b90"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#aafbe4e52592c7c2a0f1c366d52f79b90">Slic3r::ConfigOptionDef::category</a></div><div class="ttdeci">std::string category</div><div class="ttdef"><b>Definition:</b> Config.hpp:599</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html_a6d552059a2bc31a7a6e4b65f6420d9c3"><div class="ttname"><a href="class_slic3r_1_1_pointf.html#a6d552059a2bc31a7a6e4b65f6420d9c3">Slic3r::Pointf::x</a></div><div class="ttdeci">coordf_t x</div><div class="ttdef"><b>Definition:</b> Point.hpp:107</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_generic_html_ad5a2b5ae10a4963b87d7c39475a58a24"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum_generic.html#ad5a2b5ae10a4963b87d7c39475a58a24">Slic3r::ConfigOptionEnumGeneric::keys_map</a></div><div class="ttdeci">const t_config_enum_values * keys_map</div><div class="ttdef"><b>Definition:</b> Config.hpp:511</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_vector_html_a1c2c4824a8f1ed10164bc5036453097d"><div class="ttname"><a href="class_slic3r_1_1_config_option_vector.html#a1c2c4824a8f1ed10164bc5036453097d">Slic3r::ConfigOptionVector::ConfigOptionVector</a></div><div class="ttdeci">ConfigOptionVector(const std::vector&lt; T &gt; _values)</div><div class="ttdef"><b>Definition:</b> Config.hpp:76</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_single_html_a0695c42c9db732034645500f913568c1"><div class="ttname"><a href="class_slic3r_1_1_config_option_single.html#a0695c42c9db732034645500f913568c1">Slic3r::ConfigOptionSingle::ConfigOptionSingle</a></div><div class="ttdeci">ConfigOptionSingle(T _value)</div><div class="ttdef"><b>Definition:</b> Config.hpp:53</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point3_html_ae9f4e9ac1b63f3c9f11b94c8f1d8db23"><div class="ttname"><a href="class_slic3r_1_1_config_option_point3.html#ae9f4e9ac1b63f3c9f11b94c8f1d8db23">Slic3r::ConfigOptionPoint3::ConfigOptionPoint3</a></div><div class="ttdeci">ConfigOptionPoint3(Pointf3 _value)</div><div class="ttdef"><b>Definition:</b> Config.hpp:362</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_percent_html_ade6ef97d34074ab433b64fd5870b86fd"><div class="ttname"><a href="class_slic3r_1_1_config_option_percent.html#ade6ef97d34074ab433b64fd5870b86fd">Slic3r::ConfigOptionPercent::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:286</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_a328475283a37cfd8d678d00eff9bd024"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#a328475283a37cfd8d678d00eff9bd024">Slic3r::DynamicConfig::DynamicConfig</a></div><div class="ttdeci">DynamicConfig()</div><div class="ttdef"><b>Definition:</b> Config.hpp:714</div></div>
<div class="ttc" id="class_slic3r_1_1_config_def_html_af8462e5e01cd6eb77b48881eff2226bf"><div class="ttname"><a href="class_slic3r_1_1_config_def.html#af8462e5e01cd6eb77b48881eff2226bf">Slic3r::ConfigDef::options</a></div><div class="ttdeci">t_optiondef_map options</div><div class="ttdef"><b>Definition:</b> Config.hpp:664</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_string_html_a8e0c797344d5544f5c95888d06126482"><div class="ttname"><a href="class_slic3r_1_1_config_option_string.html#a8e0c797344d5544f5c95888d06126482">Slic3r::ConfigOptionString::ConfigOptionString</a></div><div class="ttdeci">ConfigOptionString(std::string _value)</div><div class="ttdef"><b>Definition:</b> Config.hpp:227</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html_a26f53e218ab0a88c06567d877b5e53d5"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html#a26f53e218ab0a88c06567d877b5e53d5">Slic3r::Pointf3::z</a></div><div class="ttdeci">coordf_t z</div><div class="ttdef"><b>Definition:</b> Point.hpp:132</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_html_a48c684ed54c6b55c07f61d5ab54e051b"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum.html#a48c684ed54c6b55c07f61d5ab54e051b">Slic3r::ConfigOptionEnum::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:492</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a0ea330099d0f9531ea45695c6e01e1a9"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a0ea330099d0f9531ea45695c6e01e1a9">Slic3r::ConfigBase::opt</a></div><div class="ttdeci">T * opt(const t_config_option_key &amp;opt_key, bool create=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:688</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_points_html_a737e8bf193301378e8602c61b4462526"><div class="ttname"><a href="class_slic3r_1_1_config_option_points.html#a737e8bf193301378e8602c61b4462526">Slic3r::ConfigOptionPoints::ConfigOptionPoints</a></div><div class="ttdeci">ConfigOptionPoints(const std::vector&lt; Pointf &gt; _values)</div><div class="ttdef"><b>Definition:</b> Config.hpp:386</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a465b2573ca6f4f4bc47dc805114ae977"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a465b2573ca6f4f4bc47dc805114ae977">Slic3r::ConfigOption::getFloat</a></div><div class="ttdeci">virtual double getFloat() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:40</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a563a12e741b4846174b707660fd92ee5"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a563a12e741b4846174b707660fd92ee5">Slic3r::ConfigBase::apply_only</a></div><div class="ttdeci">void apply_only(const ConfigBase &amp;other, const t_config_option_keys &amp;opt_keys, bool ignore_nonexistent=false)</div><div class="ttdef"><b>Definition:</b> Config.cpp:257</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_single_html_abaf8fe497afac1ad5e72a6f83751ee0a"><div class="ttname"><a href="class_slic3r_1_1_config_option_single.html#abaf8fe497afac1ad5e72a6f83751ee0a">Slic3r::ConfigOptionSingle::value</a></div><div class="ttdeci">T value</div><div class="ttdef"><b>Definition:</b> Config.hpp:52</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_int_html_ac2645e976fb0406b489b734386536ddb"><div class="ttname"><a href="class_slic3r_1_1_config_option_int.html#ac2645e976fb0406b489b734386536ddb">Slic3r::ConfigOptionInt::ConfigOptionInt</a></div><div class="ttdeci">ConfigOptionInt()</div><div class="ttdef"><b>Definition:</b> Config.hpp:162</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_strings_html_ac346d591c3fe063bf469a2ce0f6a8aac"><div class="ttname"><a href="class_slic3r_1_1_config_option_strings.html#ac346d591c3fe063bf469a2ce0f6a8aac">Slic3r::ConfigOptionStrings::ConfigOptionStrings</a></div><div class="ttdeci">ConfigOptionStrings(const std::vector&lt; std::string &gt; _values)</div><div class="ttdef"><b>Definition:</b> Config.hpp:246</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05daeb9429c75ace7416a3b90d0f7237e34a"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05daeb9429c75ace7416a3b90d0f7237e34a">Slic3r::coPercent</a></div><div class="ttdoc">percent value. Currently only used for infill. </div><div class="ttdef"><b>Definition:</b> Config.hpp:543</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bool_html_a2b1c94774a3a164ec17084d3e9f46714"><div class="ttname"><a href="class_slic3r_1_1_config_option_bool.html#a2b1c94774a3a164ec17084d3e9f46714">Slic3r::ConfigOptionBool::ConfigOptionBool</a></div><div class="ttdeci">ConfigOptionBool(bool _value)</div><div class="ttdef"><b>Definition:</b> Config.hpp:419</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point3_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_point3.html">Slic3r::ConfigOptionPoint3</a></div><div class="ttdoc">Configuration option to store a 3D (x,y,z) tuple. </div><div class="ttdef"><b>Definition:</b> Config.hpp:358</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_ad882be02e50a11d202291328e9be867a"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#ad882be02e50a11d202291328e9be867a">Slic3r::ConfigBase::has</a></div><div class="ttdeci">bool has(const t_config_option_key &amp;opt_key) const</div><div class="ttdef"><b>Definition:</b> Config.cpp:246</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bools_html_a149455dd12438ade45054f43c9c8224e"><div class="ttname"><a href="class_slic3r_1_1_config_option_bools.html#a149455dd12438ade45054f43c9c8224e">Slic3r::ConfigOptionBools::ConfigOptionBools</a></div><div class="ttdeci">ConfigOptionBools()</div><div class="ttdef"><b>Definition:</b> Config.hpp:437</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bools_html_aec1f00a1ed461010de450e0fbfdf1a0a"><div class="ttname"><a href="class_slic3r_1_1_config_option_bools.html#aec1f00a1ed461010de450e0fbfdf1a0a">Slic3r::ConfigOptionBools::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:441</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_ints_html_a1daa6b7e52fe1dfc37f9a0002bf0b430"><div class="ttname"><a href="class_slic3r_1_1_config_option_ints.html#a1daa6b7e52fe1dfc37f9a0002bf0b430">Slic3r::ConfigOptionInts::ConfigOptionInts</a></div><div class="ttdeci">ConfigOptionInts(const std::vector&lt; int &gt; _values)</div><div class="ttdef"><b>Definition:</b> Config.hpp:186</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_ae61d9878a48d57e6b0bd498c34067562"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#ae61d9878a48d57e6b0bd498c34067562">Slic3r::ConfigOptionDef::gui_flags</a></div><div class="ttdeci">std::string gui_flags</div><div class="ttdef"><b>Definition:</b> Config.hpp:590</div></div>
<div class="ttc" id="namespace_slic3r_html_a5ebe1a416fa23898dceb3ba7906508b9"><div class="ttname"><a href="namespace_slic3r.html#a5ebe1a416fa23898dceb3ba7906508b9">Slic3r::t_config_option_key</a></div><div class="ttdeci">std::string t_config_option_key</div><div class="ttdoc">Name of the configuration option. </div><div class="ttdef"><b>Definition:</b> Config.hpp:19</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_ab5746c302df3a58f3cf46caf64ab96aa"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#ab5746c302df3a58f3cf46caf64ab96aa">Slic3r::ConfigOptionDef::shortcut</a></div><div class="ttdeci">std::vector&lt; t_config_option_key &gt; shortcut</div><div class="ttdef"><b>Definition:</b> Config.hpp:634</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point3_html_a28d686e0709fba723593135b4c76eaea"><div class="ttname"><a href="class_slic3r_1_1_config_option_point3.html#a28d686e0709fba723593135b4c76eaea">Slic3r::ConfigOptionPoint3::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:365</div></div>
<div class="ttc" id="namespace_slic3r_html"><div class="ttname"><a href="namespace_slic3r.html">Slic3r</a></div><div class="ttdef"><b>Definition:</b> BoundingBox.cpp:4</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a806fd21c80adf6b44de88c46ae397fc4"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a806fd21c80adf6b44de88c46ae397fc4">Slic3r::ConfigOption::clone</a></div><div class="ttdeci">virtual ConfigOption * clone() const =0</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_points_html_a180304f3bcb6b9a6251a6cdd50d37f41"><div class="ttname"><a href="class_slic3r_1_1_config_option_points.html#a180304f3bcb6b9a6251a6cdd50d37f41">Slic3r::ConfigOptionPoints::ConfigOptionPoints</a></div><div class="ttdeci">ConfigOptionPoints()</div><div class="ttdef"><b>Definition:</b> Config.hpp:385</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a263c0cba0abbd6c593e0e335927aa29f"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a263c0cba0abbd6c593e0e335927aa29f">Slic3r::ConfigBase::equals</a></div><div class="ttdeci">bool equals(const ConfigBase &amp;other) const</div><div class="ttdef"><b>Definition:</b> Config.cpp:276</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a5e946c33967f9f066b9c9f7cbe2b3bc6"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a5e946c33967f9f066b9c9f7cbe2b3bc6">Slic3r::ConfigOption::operator!=</a></div><div class="ttdeci">friend bool operator!=(const ConfigOption &amp;a, const ConfigOption &amp;b)</div><div class="ttdef"><b>Definition:</b> Config.cpp:186</div></div>
<div class="ttc" id="namespace_slic3r_html_a53e9324b7324aee899d933419e6aed34"><div class="ttname"><a href="namespace_slic3r.html#a53e9324b7324aee899d933419e6aed34">Slic3r::t_optiondef_map</a></div><div class="ttdeci">std::map&lt; t_config_option_key, ConfigOptionDef &gt; t_optiondef_map</div><div class="ttdoc">Map from a config option name to its definition. </div><div class="ttdef"><b>Definition:</b> Config.hpp:656</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_or_percent_html_a17c9b2ed89aec9e6fa5e63779fbe0411"><div class="ttname"><a href="class_slic3r_1_1_config_option_float_or_percent.html#a17c9b2ed89aec9e6fa5e63779fbe0411">Slic3r::ConfigOptionFloatOrPercent::ConfigOptionFloatOrPercent</a></div><div class="ttdeci">ConfigOptionFloatOrPercent(double _value, bool _percent)</div><div class="ttdef"><b>Definition:</b> Config.hpp:302</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_vector_html_ac251cc0fe8e680b9d77292ab9af7856a"><div class="ttname"><a href="class_slic3r_1_1_config_option_vector.html#ac251cc0fe8e680b9d77292ab9af7856a">Slic3r::ConfigOptionVector::get_at</a></div><div class="ttdeci">T get_at(size_t i) const</div><div class="ttdef"><b>Definition:</b> Config.hpp:84</div></div>
<div class="ttc" id="class_slic3r_1_1_static_config_html_a94929cd2cc3c17f00e069751f1ee29cd"><div class="ttname"><a href="class_slic3r_1_1_static_config.html#a94929cd2cc3c17f00e069751f1ee29cd">Slic3r::StaticConfig::StaticConfig</a></div><div class="ttdeci">StaticConfig()</div><div class="ttdef"><b>Definition:</b> Config.hpp:739</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_strings_html_a24a3e54da302ff5b587f89be0066aef9"><div class="ttname"><a href="class_slic3r_1_1_config_option_strings.html#a24a3e54da302ff5b587f89be0066aef9">Slic3r::ConfigOptionStrings::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:249</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bool_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_bool.html">Slic3r::ConfigOptionBool</a></div><div class="ttdoc">Represents a boolean flag. </div><div class="ttdef"><b>Definition:</b> Config.hpp:415</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_points_html_aec176ae862e94530b48e4f05f8805f67"><div class="ttname"><a href="class_slic3r_1_1_config_option_points.html#aec176ae862e94530b48e4f05f8805f67">Slic3r::ConfigOptionPoints::clone</a></div><div class="ttdeci">ConfigOptionPoints * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:387</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point_html_a7fb175124f95b22526561691e1161108"><div class="ttname"><a href="class_slic3r_1_1_config_option_point.html#a7fb175124f95b22526561691e1161108">Slic3r::ConfigOptionPoint::ConfigOptionPoint</a></div><div class="ttdeci">ConfigOptionPoint(Pointf _value)</div><div class="ttdef"><b>Definition:</b> Config.hpp:343</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_vector_base_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_vector_base.html">Slic3r::ConfigOptionVectorBase</a></div><div class="ttdoc">Virtual base class, represents value of a vector valued option (bools, ints, floats, strings, points) </div><div class="ttdef"><b>Definition:</b> Config.hpp:63</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_ints_html_aa19fcc374517bcbaff3f5c877a8f5fd9"><div class="ttname"><a href="class_slic3r_1_1_config_option_ints.html#aa19fcc374517bcbaff3f5c877a8f5fd9">Slic3r::ConfigOptionInts::clone</a></div><div class="ttdeci">ConfigOptionInts * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:187</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_html_af0e38f6ad833902f1a5e9ad50bd35db4"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum.html#af0e38f6ad833902f1a5e9ad50bd35db4">Slic3r::ConfigOptionEnum::clone</a></div><div class="ttdeci">ConfigOptionEnum&lt; T &gt; * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:482</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_floats_html_aa14adf840351025e29272552db0695df"><div class="ttname"><a href="class_slic3r_1_1_config_option_floats.html#aa14adf840351025e29272552db0695df">Slic3r::ConfigOptionFloats::vserialize</a></div><div class="ttdeci">std::vector&lt; std::string &gt; vserialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:134</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a478791d5e35982ba596d3f2cee06a9f7"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a478791d5e35982ba596d3f2cee06a9f7">Slic3r::ConfigOptionDef::~ConfigOptionDef</a></div><div class="ttdeci">~ConfigOptionDef()</div><div class="ttdef"><b>Definition:</b> Config.cpp:205</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_html_aacdf174931f339e65d78747fcee062d7"><div class="ttname"><a href="class_slic3r_1_1_config_option_float.html#aacdf174931f339e65d78747fcee062d7">Slic3r::ConfigOptionFloat::clone</a></div><div class="ttdeci">ConfigOptionFloat * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:100</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a30c895697d020cdbac8a677eafe99bd3"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a30c895697d020cdbac8a677eafe99bd3">Slic3r::ConfigBase::~ConfigBase</a></div><div class="ttdeci">virtual ~ConfigBase()</div><div class="ttdef"><b>Definition:</b> Config.hpp:684</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_percent_html_af7c9cafa19ef92f0c4e81dfc54bec60c"><div class="ttname"><a href="class_slic3r_1_1_config_option_percent.html#af7c9cafa19ef92f0c4e81dfc54bec60c">Slic3r::ConfigOptionPercent::ConfigOptionPercent</a></div><div class="ttdeci">ConfigOptionPercent()</div><div class="ttdef"><b>Definition:</b> Config.hpp:268</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_single_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_single.html">Slic3r::ConfigOptionSingle</a></div><div class="ttdoc">Value of a single valued option (bool, int, float, string, point, enum) </div><div class="ttdef"><b>Definition:</b> Config.hpp:50</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_percent_html_a132c858a83832db6a5980632db37b799"><div class="ttname"><a href="class_slic3r_1_1_config_option_percent.html#a132c858a83832db6a5980632db37b799">Slic3r::ConfigOptionPercent::get_abs_value</a></div><div class="ttdeci">double get_abs_value(double ratio_over) const</div><div class="ttdef"><b>Definition:</b> Config.hpp:274</div></div>
<div class="ttc" id="namespace_slic3r_html_ac75002536c668dbfd08a4a03960e9a0e"><div class="ttname"><a href="namespace_slic3r.html#ac75002536c668dbfd08a4a03960e9a0e">Slic3r::t_config_enum_values</a></div><div class="ttdeci">std::map&lt; std::string, int &gt; t_config_enum_values</div><div class="ttdoc">Map from an enum name to an enum integer value. </div><div class="ttdef"><b>Definition:</b> Config.hpp:472</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a509c55eb2468f75264d81e62c6b1df98"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a509c55eb2468f75264d81e62c6b1df98">Slic3r::ConfigOptionDef::type</a></div><div class="ttdeci">ConfigOptionType type</div><div class="ttdoc">Type of option referenced. </div><div class="ttdef"><b>Definition:</b> Config.hpp:575</div></div>
<div class="ttc" id="class_slic3r_1_1_config_def_html_a1a6e9c69aea8b4de691691d42f010e20"><div class="ttname"><a href="class_slic3r_1_1_config_def.html#a1a6e9c69aea8b4de691691d42f010e20">Slic3r::ConfigDef::merge</a></div><div class="ttdeci">void merge(const ConfigDef &amp;other)</div><div class="ttdef"><b>Definition:</b> Config.cpp:240</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_string_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_string.html">Slic3r::ConfigOptionString</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:223</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_aa507a559aaa0207232299021b4d8411c"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#aa507a559aaa0207232299021b4d8411c">Slic3r::ConfigBase::setenv_</a></div><div class="ttdeci">void setenv_()</div><div class="ttdef"><b>Definition:</b> Config.cpp:362</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_ab9a1b37185cd3263bafee672abf5767b"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#ab9a1b37185cd3263bafee672abf5767b">Slic3r::DynamicConfig::keys</a></div><div class="ttdeci">t_config_option_keys keys() const</div><div class="ttdef"><b>Definition:</b> Config.cpp:505</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_vector_html_a41e86e3a2d887f4ef154454d91e5aa61"><div class="ttname"><a href="class_slic3r_1_1_config_option_vector.html#a41e86e3a2d887f4ef154454d91e5aa61">Slic3r::ConfigOptionVector::values</a></div><div class="ttdeci">std::vector&lt; T &gt; values</div><div class="ttdef"><b>Definition:</b> Config.hpp:74</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a419e3e2e0d34824ee7816b5b9f981849"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a419e3e2e0d34824ee7816b5b9f981849">Slic3r::ConfigBase::ConfigBase</a></div><div class="ttdeci">ConfigBase(const ConfigDef *def)</div><div class="ttdef"><b>Definition:</b> Config.hpp:683</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bools_html_a940014a2727366d812ba3bc79db8b33e"><div class="ttname"><a href="class_slic3r_1_1_config_option_bools.html#a940014a2727366d812ba3bc79db8b33e">Slic3r::ConfigOptionBools::clone</a></div><div class="ttdeci">ConfigOptionBools * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:439</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html">Slic3r::ConfigOptionDef</a></div><div class="ttdoc">Definition of a configuration value for the purpose of GUI presentation, editing, value mapping and c...</div><div class="ttdef"><b>Definition:</b> Config.hpp:560</div></div>
<div class="ttc" id="namespace_slic3r_html_adc08139e1bb59d39e8faa5ef4754c5e5"><div class="ttname"><a href="namespace_slic3r.html#adc08139e1bb59d39e8faa5ef4754c5e5">Slic3r::unescape_string_cstyle</a></div><div class="ttdeci">bool unescape_string_cstyle(const std::string &amp;str, std::string &amp;str_out)</div><div class="ttdef"><b>Definition:</b> Config.cpp:91</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da28c9c9e6fd96bf9cbd651c2ed7f41078"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da28c9c9e6fd96bf9cbd651c2ed7f41078">Slic3r::coBools</a></div><div class="ttdoc">vector of boolean values </div><div class="ttdef"><b>Definition:</b> Config.hpp:554</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_or_percent_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_float_or_percent.html">Slic3r::ConfigOptionFloatOrPercent</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:297</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da66fc7a8b8079de988563c15f7b62105f"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da66fc7a8b8079de988563c15f7b62105f">Slic3r::coBool</a></div><div class="ttdoc">single boolean value </div><div class="ttdef"><b>Definition:</b> Config.hpp:552</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a850829b2ecc60267b430b48b336629a8"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a850829b2ecc60267b430b48b336629a8">Slic3r::ConfigBase::serialize</a></div><div class="ttdeci">std::string serialize(const t_config_option_key &amp;opt_key) const</div><div class="ttdef"><b>Definition:</b> Config.cpp:293</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_int_html_af106fd960247998c676ec9af2ddc6242"><div class="ttname"><a href="class_slic3r_1_1_config_option_int.html#af106fd960247998c676ec9af2ddc6242">Slic3r::ConfigOptionInt::setInt</a></div><div class="ttdeci">void setInt(int val)</div><div class="ttdef"><b>Definition:</b> Config.hpp:167</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bools_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_bools.html">Slic3r::ConfigOptionBools</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:434</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_a2dc1cd07325a0483f1aea82855a3c82e"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#a2dc1cd07325a0483f1aea82855a3c82e">Slic3r::ConfigBase::save</a></div><div class="ttdeci">void save(const std::string &amp;file) const</div><div class="ttdef"><b>Definition:</b> Config.cpp:409</div></div>
<div class="ttc" id="namespace_slic3r_html_af0ba93eb38e1604641b4f38c82994b20"><div class="ttname"><a href="namespace_slic3r.html#af0ba93eb38e1604641b4f38c82994b20">Slic3r::escape_strings_cstyle</a></div><div class="ttdeci">std::string escape_strings_cstyle(const std::vector&lt; std::string &gt; &amp;strs)</div><div class="ttdef"><b>Definition:</b> Config.cpp:44</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_int_html_a36dc035f37d131006f5a50e0c134b585"><div class="ttname"><a href="class_slic3r_1_1_config_option_int.html#a36dc035f37d131006f5a50e0c134b585">Slic3r::ConfigOptionInt::ConfigOptionInt</a></div><div class="ttdeci">ConfigOptionInt(double _value)</div><div class="ttdef"><b>Definition:</b> Config.hpp:163</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_ac8ba5eb3c38f38fb41bfa2195f05c3e8"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#ac8ba5eb3c38f38fb41bfa2195f05c3e8">Slic3r::ConfigBase::optptr</a></div><div class="ttdeci">virtual ConfigOption * optptr(const t_config_option_key &amp;opt_key, bool create=false)=0</div></div>
<div class="ttc" id="class_slic3r_1_1_static_config_html_af6b12b1d188a07eecb55a733eb671da2"><div class="ttname"><a href="class_slic3r_1_1_static_config.html#af6b12b1d188a07eecb55a733eb671da2">Slic3r::StaticConfig::set_defaults</a></div><div class="ttdeci">void set_defaults()</div><div class="ttdoc">Set all statically defined config options to their defaults defined by this-&gt;def. ...</div><div class="ttdef"><b>Definition:</b> Config.cpp:635</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf_html"><div class="ttname"><a href="class_slic3r_1_1_pointf.html">Slic3r::Pointf</a></div><div class="ttdef"><b>Definition:</b> Point.hpp:104</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da3fda88472dbd7030ce02672dd6ae44b8"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da3fda88472dbd7030ce02672dd6ae44b8">Slic3r::coInts</a></div><div class="ttdoc">vector of ints </div><div class="ttdef"><b>Definition:</b> Config.hpp:537</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_percent_html_a7d5e3eff87aa780bfc940a615a185a90"><div class="ttname"><a href="class_slic3r_1_1_config_option_percent.html#a7d5e3eff87aa780bfc940a615a185a90">Slic3r::ConfigOptionPercent::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:278</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bools_html_ac0c9735c43800ae02254379f11113474"><div class="ttname"><a href="class_slic3r_1_1_config_option_bools.html#ac0c9735c43800ae02254379f11113474">Slic3r::ConfigOptionBools::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:460</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bool_html_a6d8edb8351425ea0ff35b0a259d319c3"><div class="ttname"><a href="class_slic3r_1_1_config_option_bool.html#a6d8edb8351425ea0ff35b0a259d319c3">Slic3r::ConfigOptionBool::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:424</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_ad76bb52adc2b719456d8643939f84aa5"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#ad76bb52adc2b719456d8643939f84aa5">Slic3r::ConfigOptionDef::enum_keys_map</a></div><div class="ttdeci">t_config_enum_values enum_keys_map</div><div class="ttdef"><b>Definition:</b> Config.hpp:641</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point3_html_a3e66efda8bee736b4433940fda2921ae"><div class="ttname"><a href="class_slic3r_1_1_config_option_point3.html#a3e66efda8bee736b4433940fda2921ae">Slic3r::ConfigOptionPoint3::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.cpp:672</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_floats_html_a4c05598138796c2b378f4631b74311e4"><div class="ttname"><a href="class_slic3r_1_1_config_option_floats.html#a4c05598138796c2b378f4631b74311e4">Slic3r::ConfigOptionFloats::clone</a></div><div class="ttdeci">ConfigOptionFloats * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:123</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05d"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05d">Slic3r::ConfigOptionType</a></div><div class="ttdeci">ConfigOptionType</div><div class="ttdoc">Type of a configuration value. </div><div class="ttdef"><b>Definition:</b> Config.hpp:528</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_or_percent_html_a94610e7aa21be44a3451c1d97c003f7b"><div class="ttname"><a href="class_slic3r_1_1_config_option_float_or_percent.html#a94610e7aa21be44a3451c1d97c003f7b">Slic3r::ConfigOptionFloatOrPercent::clone</a></div><div class="ttdeci">ConfigOptionFloatOrPercent * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:304</div></div>
<div class="ttc" id="namespace_slic3r_html_a1adc7c939ed5b67e5d02173e31667818"><div class="ttname"><a href="namespace_slic3r.html#a1adc7c939ed5b67e5d02173e31667818">Slic3r::unescape_strings_cstyle</a></div><div class="ttdeci">bool unescape_strings_cstyle(const std::string &amp;str, std::vector&lt; std::string &gt; &amp;out)</div><div class="ttdef"><b>Definition:</b> Config.cpp:110</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da63ce37b455fe0f8ca9ce4807ba34a0db"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da63ce37b455fe0f8ca9ce4807ba34a0db">Slic3r::coNone</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:529</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_ints_html_a2530f50de9cbe78a348241fe2d5fe759"><div class="ttname"><a href="class_slic3r_1_1_config_option_ints.html#a2530f50de9cbe78a348241fe2d5fe759">Slic3r::ConfigOptionInts::vserialize</a></div><div class="ttdeci">std::vector&lt; std::string &gt; vserialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:198</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da1cf926fa9e3c16e3cd6f6e001370eff5"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da1cf926fa9e3c16e3cd6f6e001370eff5">Slic3r::coString</a></div><div class="ttdoc">single string </div><div class="ttdef"><b>Definition:</b> Config.hpp:539</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a78800592be78a66830a85da7f382d13c"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a78800592be78a66830a85da7f382d13c">Slic3r::ConfigOption::getBool</a></div><div class="ttdeci">virtual bool getBool() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:41</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point3_html_a9cd32db547023f8981f9f81f6bdb42c7"><div class="ttname"><a href="class_slic3r_1_1_config_option_point3.html#a9cd32db547023f8981f9f81f6bdb42c7">Slic3r::ConfigOptionPoint3::clone</a></div><div class="ttdeci">ConfigOptionPoint3 * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:363</div></div>
<div class="ttc" id="class_slic3r_1_1_pointf3_html"><div class="ttname"><a href="class_slic3r_1_1_pointf3.html">Slic3r::Pointf3</a></div><div class="ttdef"><b>Definition:</b> Point.hpp:129</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a01d055530a7f314dbeaacef0b19bb00a"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a01d055530a7f314dbeaacef0b19bb00a">Slic3r::ConfigOptionDef::width</a></div><div class="ttdeci">int width</div><div class="ttdoc">Optional width of an input field. </div><div class="ttdef"><b>Definition:</b> Config.hpp:622</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a5177a4fe4faeada70507b49a7c1532c1"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a5177a4fe4faeada70507b49a7c1532c1">Slic3r::ConfigOptionDef::readonly</a></div><div class="ttdeci">bool readonly</div><div class="ttdef"><b>Definition:</b> Config.hpp:618</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a06874704b02d8d8eaf0f248120814c2a"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a06874704b02d8d8eaf0f248120814c2a">Slic3r::ConfigOptionDef::max</a></div><div class="ttdeci">int max</div><div class="ttdef"><b>Definition:</b> Config.hpp:627</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html_abf3654613ca336c457dfa07a69e32bf7"><div class="ttname"><a href="class_slic3r_1_1_config_base.html#abf3654613ca336c457dfa07a69e32bf7">Slic3r::ConfigBase::ConfigBase</a></div><div class="ttdeci">ConfigBase()</div><div class="ttdef"><b>Definition:</b> Config.hpp:682</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da2a441920d525d34fa862fdf28922a75f"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da2a441920d525d34fa862fdf28922a75f">Slic3r::coPoint3</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:550</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_int_html_a45aee46f54b11cc1c473bf5fcde6d883"><div class="ttname"><a href="class_slic3r_1_1_config_option_int.html#a45aee46f54b11cc1c473bf5fcde6d883">Slic3r::ConfigOptionInt::getInt</a></div><div class="ttdeci">int getInt() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:166</div></div>
<div class="ttc" id="class_slic3r_1_1_config_base_html"><div class="ttname"><a href="class_slic3r_1_1_config_base.html">Slic3r::ConfigBase</a></div><div class="ttdoc">An abstract configuration store. </div><div class="ttdef"><b>Definition:</b> Config.hpp:673</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a45ee45f35a1e691e3a0c53d76012c57a"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a45ee45f35a1e691e3a0c53d76012c57a">Slic3r::ConfigOption::deserialize</a></div><div class="ttdeci">virtual bool deserialize(std::string str, bool append=false)=0</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_generic_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum_generic.html">Slic3r::ConfigOptionEnumGeneric</a></div><div class="ttdoc">Generic enum configuration value. </div><div class="ttdef"><b>Definition:</b> Config.hpp:508</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point3_html_af5f0f1f47b529c2ff715c0a3167e5b00"><div class="ttname"><a href="class_slic3r_1_1_config_option_point3.html#af5f0f1f47b529c2ff715c0a3167e5b00">Slic3r::ConfigOptionPoint3::ConfigOptionPoint3</a></div><div class="ttdeci">ConfigOptionPoint3()</div><div class="ttdef"><b>Definition:</b> Config.hpp:361</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_ints_html_aed06dbaf48490dc9d013a68fa57d89b5"><div class="ttname"><a href="class_slic3r_1_1_config_option_ints.html#aed06dbaf48490dc9d013a68fa57d89b5">Slic3r::ConfigOptionInts::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:189</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_a3840f0a99853f2da3d6fdf8a8a97f50e"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#a3840f0a99853f2da3d6fdf8a8a97f50e">Slic3r::ConfigOptionDef::default_value</a></div><div class="ttdeci">ConfigOption * default_value</div><div class="ttdoc">Default value of this option. </div><div class="ttdef"><b>Definition:</b> Config.hpp:579</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_html_a4053d8e5c10b52c368232e2767f9792e"><div class="ttname"><a href="class_slic3r_1_1_config_option.html#a4053d8e5c10b52c368232e2767f9792e">Slic3r::ConfigOption::setInt</a></div><div class="ttdeci">virtual void setInt(int val)</div><div class="ttdef"><b>Definition:</b> Config.hpp:42</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html">Slic3r::DynamicConfig</a></div><div class="ttdef"><b>Definition:</b> Config.hpp:711</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_bool_html_a674517ab5c78783de2d916b03e32dc20"><div class="ttname"><a href="class_slic3r_1_1_config_option_bool.html#a674517ab5c78783de2d916b03e32dc20">Slic3r::ConfigOptionBool::ConfigOptionBool</a></div><div class="ttdeci">ConfigOptionBool()</div><div class="ttdef"><b>Definition:</b> Config.hpp:418</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_def_html_af5dfccbb462d9dda65ca7492095f7dc8"><div class="ttname"><a href="class_slic3r_1_1_config_option_def.html#af5dfccbb462d9dda65ca7492095f7dc8">Slic3r::ConfigOptionDef::ConfigOptionDef</a></div><div class="ttdeci">ConfigOptionDef()</div><div class="ttdef"><b>Definition:</b> Config.hpp:643</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_strings_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_strings.html">Slic3r::ConfigOptionStrings</a></div><div class="ttdoc">semicolon-separated strings </div><div class="ttdef"><b>Definition:</b> Config.hpp:242</div></div>
<div class="ttc" id="namespace_slic3r_html_ad050dac2473d8202fb36cf563717a05da297634c409a151f6ea730ac380ea1897"><div class="ttname"><a href="namespace_slic3r.html#ad050dac2473d8202fb36cf563717a05da297634c409a151f6ea730ac380ea1897">Slic3r::coEnum</a></div><div class="ttdoc">a generic enum </div><div class="ttdef"><b>Definition:</b> Config.hpp:556</div></div>
<div class="ttc" id="class_slic3r_1_1_dynamic_config_html_a3743421178fddb8a5663118b211ebfa3"><div class="ttname"><a href="class_slic3r_1_1_dynamic_config.html#a3743421178fddb8a5663118b211ebfa3">Slic3r::DynamicConfig::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> Config.cpp:523</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_floats_html_a3e015215c0659076927b82130695d524"><div class="ttname"><a href="class_slic3r_1_1_config_option_floats.html#a3e015215c0659076927b82130695d524">Slic3r::ConfigOptionFloats::ConfigOptionFloats</a></div><div class="ttdeci">ConfigOptionFloats()</div><div class="ttdef"><b>Definition:</b> Config.hpp:121</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_html_a0e20209ef1e9f810869a8f473b3cefb1"><div class="ttname"><a href="class_slic3r_1_1_config_option_float.html#a0e20209ef1e9f810869a8f473b3cefb1">Slic3r::ConfigOptionFloat::ConfigOptionFloat</a></div><div class="ttdeci">ConfigOptionFloat()</div><div class="ttdef"><b>Definition:</b> Config.hpp:98</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_points_html_abb9b22833053c07532b515d4d3bcee5d"><div class="ttname"><a href="class_slic3r_1_1_config_option_points.html#abb9b22833053c07532b515d4d3bcee5d">Slic3r::ConfigOptionPoints::vserialize</a></div><div class="ttdeci">std::vector&lt; std::string &gt; vserialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:400</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_or_percent_html_a1536e237b148fdfe20ecc53f7cc10623"><div class="ttname"><a href="class_slic3r_1_1_config_option_float_or_percent.html#a1536e237b148fdfe20ecc53f7cc10623">Slic3r::ConfigOptionFloatOrPercent::ConfigOptionFloatOrPercent</a></div><div class="ttdeci">ConfigOptionFloatOrPercent()</div><div class="ttdef"><b>Definition:</b> Config.hpp:301</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_vector_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_vector.html">Slic3r::ConfigOptionVector</a></div><div class="ttdoc">Value of a vector valued option (bools, ints, floats, strings, points), template. ...</div><div class="ttdef"><b>Definition:</b> Config.hpp:71</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_int_html_a4ac102e93917aadd150c052255e52eb4"><div class="ttname"><a href="class_slic3r_1_1_config_option_int.html#a4ac102e93917aadd150c052255e52eb4">Slic3r::ConfigOptionInt::serialize</a></div><div class="ttdeci">std::string serialize() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:169</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_ints_html_a680b1f8b1525aab873519092b91d5dd0"><div class="ttname"><a href="class_slic3r_1_1_config_option_ints.html#a680b1f8b1525aab873519092b91d5dd0">Slic3r::ConfigOptionInts::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:209</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point_html_a3c7fe9297c661cb8e7392ccffb708386"><div class="ttname"><a href="class_slic3r_1_1_config_option_point.html#a3c7fe9297c661cb8e7392ccffb708386">Slic3r::ConfigOptionPoint::clone</a></div><div class="ttdeci">ConfigOptionPoint * clone() const</div><div class="ttdef"><b>Definition:</b> Config.hpp:344</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point_html_a83e760b2996793d14ea9f76201aab68f"><div class="ttname"><a href="class_slic3r_1_1_config_option_point.html#a83e760b2996793d14ea9f76201aab68f">Slic3r::ConfigOptionPoint::ConfigOptionPoint</a></div><div class="ttdeci">ConfigOptionPoint()</div><div class="ttdef"><b>Definition:</b> Config.hpp:342</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_floats_html_a29a92cafd7a5fc3cf1d6e043e894d280"><div class="ttname"><a href="class_slic3r_1_1_config_option_floats.html#a29a92cafd7a5fc3cf1d6e043e894d280">Slic3r::ConfigOptionFloats::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.hpp:145</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_point_html"><div class="ttname"><a href="class_slic3r_1_1_config_option_point.html">Slic3r::ConfigOptionPoint</a></div><div class="ttdoc">Configuration option to store a 2D (x,y) tuple. </div><div class="ttdef"><b>Definition:</b> Config.hpp:339</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_points_html_ad7946b5c5b05fa2dad89e58ce30b05ab"><div class="ttname"><a href="class_slic3r_1_1_config_option_points.html#ad7946b5c5b05fa2dad89e58ce30b05ab">Slic3r::ConfigOptionPoints::deserialize</a></div><div class="ttdeci">bool deserialize(std::string str, bool append=false)</div><div class="ttdef"><b>Definition:</b> Config.cpp:687</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_enum_html_a479010000a8e5294736a3bff28fb7f86"><div class="ttname"><a href="class_slic3r_1_1_config_option_enum.html#a479010000a8e5294736a3bff28fb7f86">Slic3r::ConfigOptionEnum::ConfigOptionEnum</a></div><div class="ttdeci">ConfigOptionEnum()</div><div class="ttdef"><b>Definition:</b> Config.hpp:480</div></div>
<div class="ttc" id="class_slic3r_1_1_config_option_float_or_percent_html_a2eea58c97909368dd17e7f55922a27af"><div class="ttname"><a href="class_slic3r_1_1_config_option_float_or_percent.html#a2eea58c97909368dd17e7f55922a27af">Slic3r::ConfigOptionFloatOrPercent::percent</a></div><div class="ttdeci">bool percent</div><div class="ttdef"><b>Definition:</b> Config.hpp:300</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
